根据C#中另一列的当前行过滤datagridview列

时间:2010-03-20 17:01:05

标签: c# events datagridview

我有一个datagridview,它填充来自不同表的列。我想根据当前行的另一列过滤列。我尝试使用datagridview的单元格输入事件,然后通过过滤当前行的列上的绑定源来过滤列。

private void lINKDataGridView_CellEnter(object sender, DataGridViewCellEventArgs e)
{
    this.pROBLEMBindingSource.Filter = "item_id = " + this.lINKDataGridView.Rows[e.RowIndex].Cells[dataGridViewTextBoxColumn4.Index].Value + "";
}

这就是我在datagridview的单元格输入事件中过滤“问题”绑定源的方法。它工作正常,但我收到错误:System.ArgumentException:DataGridViewComboBoxCell值无效。

任何建议

1 个答案:

答案 0 :(得分:0)

item_id字段是字符串类型还是数字类型。如果是字符串类型,则必须输入 单一的cote。

嗯,你可以像这样使用

 private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
 {
  // [ Item_id column ] Make sure to use the item_id column index
  if (e.ColumnIndex == 5) 
        {
           userBindingSource.Filter = "Item_Id = " + Convert.ToInt64(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString());
        }
    }