說明:的WinForm的DevExpress XtraGrid中以編程方式來檢查網格視圖指定的複選框列
我有一個包含RepositoryItemCheckEdit列的和RepositoryItemTextEdit列的,網格視圖的網格視圖包含列的像Item Id
,Bar code
,Pack Id
等
1)RepositoryItemCheckEdit
相同Item Id
和bar code
可以進來網格視圖多個項目進行各色nt pack id
。
我需要的是,如果用戶在網格視圖中選擇任何一個項目ID的複選框意味着我需要所有關聯的複選框行被選中或取消選中viceversa。用戶可以選擇第一個複選框或最後一個複選框,然後相關的複選框需要檢查或基於用戶選擇選中反之亦然
2)RepositoryItemTextEdit
同像複選框欄目編輯,文字編輯列Edit(編輯)需要制定,例如,如果用戶在項ID列單元格值進入100指則對應項目的ID行的如下
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++;
}
}
說明用途也應指定爲100:如果我包含在同一gridview的5行itemid但不同的包編號... 如果我檢查itemId的第一行復選框意味着我可以很容易地通過增加rowhandle值來填充剩餘的複選框,如第二,第三,第四,第五個 但我的問題是,如果我想檢查3行gridview Itemid複選框意味着我只能填充第4行和第5行復選框狀態..但是第1行和第2行保持不變...
那麼你嘗試過這麼遠嗎?任何努力?你面臨什麼問題? – 2014-10-31 12:16:25
抱歉,無法看到您在實施時遇到的任何問題。 – Reniuz 2014-10-31 12:19:44