【问题标题】:Error in DataGridView FilterDataGridView 筛选器中的错误
【发布时间】:2014-02-12 06:11:17
【问题描述】:

我使用 C# 中的 Linq Query 填充我的 Datagridview。我想使用文本框过滤这个 datagridview。

Textbox changed事件代码为:

DataTable dt = new DataTable();

dt = (DataTable)(dataGridViewX4.DataSource);

dt.DefaultView.RowFilter = string.Format("T_P = '{0}'", Txt_T_P_Se.Text);

dataGridViewX4.DataSource = dt;

运行程序后出现这个错误:

未处理无效的强制转换异常。对于理解这个问题的任何帮助将不胜感激。

我的数据源是:

var 查询= (来自 QcGerdBaf.Taghes 中的 p,其中 p.QGI_Id_Fk == QGI_Id_Selected select new { p.T_P, p.T_Id });

dataGridViewX4.DataSource = Query.ToList();

【问题讨论】:

  • 究竟在哪一行?

标签: c# datagridview datatable filtering


【解决方案1】:

试试这样,只需编辑信息。

(dataGridViewX4.DataSource as DataTable).DefaultView.RowFilter = string.Format("ID = '{0}'", Txt_T_P_Se.Text);

删除您的代码,这应该可以工作。

    //DataTable dt = new DataTable();

//dt = (DataTable)(dataGridViewX4.DataSource);

//dt.DefaultView.RowFilter = string.Format("T_P = '{0}'", Txt_T_P_Se.Text);

//dataGridViewX4.DataSource = dt;

【讨论】:

  • 嗨,感谢您的关注,我尝试了您的代码,但收到了同样的错误。
【解决方案2】:

这样试试

int value;  
DataTable dt = new DataTable();  
dt = (DataTable)(dataGridViewX4.DataSource);   
dt.DefaultView.RowFilter = string.Format("T_P = {0}",int.TryParse(Txt_T_P_Se.Text, out value));   
dataGridViewX4.DataSource = dt;

【讨论】:

  • 查看{0}附近的差异
  • 我试试这个,但收到同样的错误。
  • @Erfani 我已经更新了解决方案,请检查一下
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-16
  • 1970-01-01
相关资源
最近更新 更多