我是devexpress的新手。当我添加新行并在一个单元格中填充一些值时,我将注意力集中到同一行中的其他单元格上,而该单元格中的值丢失了。
这是我的代码(gridview中的列名称与Datatable dtGroupRole中的列匹配)
FrmUser.cs
...
adminGroupRoles = AdminGroupRoles.GetAllGroupRoles().ToList();
dtGroupRole = GlobalVars.ToDataTable<AdminGroupRoles>(adminGroupRoles);
grdGroupRoles.DataSource = adminGroupRoles;
AdminGroupRoles.cs
public class AdminGroupRoles
{
public int GroupId { get; set; }
public string GroupName { get; set; }
public static List<AdminGroupRoles> GetAllGroupRoles()
{
return AdminGroupRoles.Inst.ExeStoreToList("sp_AdminUsers_GetAllGroupRoles");
}
}
已编辑的单元格被重置:
谢谢大家:)
最佳答案
我看到您将adminGroupRoles分配为网格源。这是一个清单。为了使网格可以添加新行,数据源应为IBindingList。 adminGroupRoles没有实现它。据我了解,dtGroupRole是从adminGroupRoles转换的DataTable。因此,您需要将其用作网格数据源:
adminGroupRoles = AdminGroupRoles.GetAllGroupRoles().ToList();
dtGroupRole = GlobalVars.ToDataTable<AdminGroupRoles>(adminGroupRoles);
grdGroupRoles.DataSource = dtGroupRole;