2016-12-09 46 views
0

我有這種填充表類。我得到的錯誤無法執行字符串和整型的操作。我究竟做錯了什麼?C#表單無法執行操作=上字符串和int

我想獲取基於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.EvaluateException' 未處理的異常出現在system.data.dll

附加信息:無法對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; 
} 

回答

1

如果您的列是整數類型。異常告訴你,你正試圖比較字符串與int。

view.RowFilter = string.Format("MD_ID = '{0}'", MdNum);