【发布时间】:2014-10-31 12:12:15
【问题描述】:
解释:
我有一个网格视图,其中包含 RepositoryItemCheckEdit 列和 RepositoryItemTextEdit 列,网格视图包含 Item Id、Bar code、Pack Id 等列
1)RepositoryItemCheckEdit
相同的Item Id 和bar code 可以在网格视图中出现多个具有不同pack id 的项目。
我需要的是,如果用户在网格视图中选择任何一个项目 ID 的复选框,则意味着我需要选中或取消选中所有关联的复选框行,反之亦然。用户可以选择第一个复选框或最后一个复选框,然后根据用户选择需要选中或取消选中关联的复选框,反之亦然
2)RepositoryItemTextEdit
与复选框列编辑,文本编辑列编辑相同,例如如果用户在项目id列单元格值中输入100,则相应的项目id行也应分配为100,如下所示
void repchkCheckbox_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
{
DataTable dt_check = new DataTable();
dt_check = (DataTable)gcItemMaster.DataSource;
Int64 sItemId = Convert.ToInt64(gvItemMaster.GetRowCellValue(gvItemMaster.FocusedRowHandle, gvItemMaster.Columns["ItemID"]));
bool bDiscount = Convert.ToBoolean(e.Value);
int iItemcount = (from DataRow row in dt_check.Rows where (string)row["ItemID"] == "1" select row).Count();
int iRowHandle = gvItemMaster.FocusedRowHandle;
for (int i = 0; i < iItemcount; i++)
{
if (bDiscount)
gvItemMaster.SetRowCellValue(iRowHandle, gvItemMaster.Columns["AllowDiscount"], true);
else
gvItemMaster.SetRowCellValue(iRowHandle, gvItemMaster.Columns["AllowDiscount"], false);
iRowHandle++;
}
}
说明性目的:如果我在 gridview 中包含 5 行具有相同 itemid 但不同 packid... 如果我选中 itemId 的第一行复选框,则意味着我可以通过增加 rowhandle 值轻松填充剩余的复选框,例如第 2、3、4、5 个复选框 但我的问题是,如果假设我检查 3 行 gridview Itemid 复选框意味着我只能填充第 4 行和第 5 行复选框状态..但第 1 行和第 2 行保持不变...
【问题讨论】:
-
那么到目前为止,您尝试过什么?有什么努力吗?你遇到过什么问题?
-
很抱歉,您在实施此操作时无法看到任何已解释的问题。
标签: c# winforms repository devexpress xtragrid