2016-12-09 105 views
0

私はこのポピュレートテーブルクラスを持っています。私は文字列とintの操作を実行することはできませんエラーを取得します。私は間違って何をしていますか?C#フォーム操作を実行できません=文字列とintで

私はdatagridview1のクリックした行の行番号であるMd_idに基づいてデータを取得しようとしていますが、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); 
関連する問題