C# 根据C中另一列的当前行筛选datagridview列

C# 根据C中另一列的当前行筛选datagridview列,c#,events,datagridview,C#,Events,Datagridview,我有一个datagridview,它正在填充来自不同表的列。我想根据当前行的另一列筛选该列。我尝试使用datagridview的cell enter事件,然后通过过滤当前行的列上的绑定源来过滤该列 private void lINKDataGridView_CellEnter(object sender, DataGridViewCellEventArgs e) { this.pROBLEMBindingSource.Filter = "item_id = " + this.lINKDa

我有一个datagridview,它正在填充来自不同表的列。我想根据当前行的另一列筛选该列。我尝试使用datagridview的cell enter事件,然后通过过滤当前行的列上的绑定源来过滤该列

private void lINKDataGridView_CellEnter(object sender, DataGridViewCellEventArgs e)
{
    this.pROBLEMBindingSource.Filter = "item_id = " + this.lINKDataGridView.Rows[e.RowIndex].Cells[dataGridViewTextBoxColumn4.Index].Value + "";
}
这就是我在datagridview的cell enter事件上过滤问题绑定源的方式。它工作正常,但我收到一个错误:System.ArgumentException:DataGridViewComboBoxCell值无效


任何建议都是item\u id字段是字符串类型或数字类型。如果是字符串类型,则必须输入 单间小屋

你可以这样用

 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());
        }
    }

Is item_id字段为字符串类型或数字类型。如果是字符串类型,则必须输入 单间小屋

你可以这样用

 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());
        }
    }