我有这个populate表类。我得到的错误无法执行string和int的操作。我做错了什么?
我正在尝试根据Md_id获取数据,Md_id是datagridview1
中单击行的行号并显示ff。 datagridview2
中的数据。但是因为行而得到下面的错误。
view.RowFilter = "MD_ID = " + MdNum ;
以下是我的代码:
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
//get Md_id based on the row
String MdNum = dataGridView1.CurrentRow.Cells[0].Value.ToString();
//populate datagridview2
XMLLevel2PopulateTable(MdNum.ToString());
}
private void XMLLevel2PopulateTable(string MdNum)
{
DataTable dt = new DataTable();
dt = ds.Tables["Tables"];
DataView view = new DataView(dt);
view.RowFilter = "MD_ID = " + MdNum ; // error here with mdNum
dataGridView2.DataSource = view;
}
错误是:
System.Data.dll中出现未处理的“System.Data.EvaluateException”类型异常
附加信息:无法对System.String和System.Int32执行'='操作。
尝试了ff代码,但仍然存在错误。
private void XMLLevel2PopulateTable(string MdNum)
{
DataTable dt = new DataTable();
dt = ds.Tables["Tables"];
DataView view = new DataView(dt);
view.RowFilter = string.Format("MD_ID = {0}", MdNum); // error here with mdNum
dataGridView2.DataSource = view;
}
答案 0 :(得分:1)
如果您的列是整数类型。该异常告诉您正在尝试将字符串与int进行比较。
view.RowFilter = string.Format("MD_ID = '{0}'", MdNum);