我有一个带有 2 个组合框列的数据网格,第一列是类别列,第二列是子类别列。现在我必须在第一个组合框列中选择类别,然后该选定类别下的子类别应绑定在第二个组合框列中,我为组合框列编写了选择更改事件,如下所示。
private void Grid_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
ComboBox cb = e.Control as ComboBox;
if (cb!=null)
{ cb.SelectionChangeCommitted -= new EventHandler(cb_SelectedIndexChanged);
// now attach the event handler
cb.SelectionChangeCommitted += new EventHandler(cb_SelectedIndexChanged);
}
}
void cb_SelectedIndexChanged(object sender, EventArgs e)
{
int i = datagrdADDTEMP.CurrentCell.ColumnIndex;
int j = datagrdADDTEMP.CurrentCell.RowIndex;
if(i==0)
{
var tb = datagrdADDTEMP.EditingControl as ComboBox;
if (tb != null)
str = tb.SelectedValue != null ? tb.SelectedValue.ToString() : null;
Assesment_Business_layer.Businesslayer bl = new Assesment_Business_layer.Businesslayer();
DataSet ds = new DataSet();**strong text**
ds = bl.GetSubCatNamesBA(str);
cmbDataGridSubCategory.DataSource = ds.Tables[0];
cmbDataGridSubCategory.DisplayMember = "SubCategoryName";
cmbDataGridSubCategory.ValueMember = "SubCategoryCode";
}
}
}
它运作良好。当我从特定行中的第一个组合框列中选择类别时,此选定类别的相关子类别将绑定到同一行中的子类别列。它很好,但问题是,在特定行之前的第二个组合框列也与相同的子类别绑定
例如
如果我从第三行第一个组合框列中选择类别,那么它的子类别也绑定在第一行第二行和第三行中。我只想将它绑定到第三行。
请任何人帮助我,我遇到了这个问题..