2016-05-12 3 views
0

グリッドビューで行を選択すると、ラベルを付けるためにmysqlデータをロードしようとしています。ここラベルにDataGridのSelectedrowをロードする

enter image description here

選択された行の値を取得し、ラベルにバインド私のクラスです。

private void LoadOrders() 
{ 
    con.Open(); 
    cmd = new SqlCommand(@"Select quo_product,quo_address 
          FROM JobQuotations 
          WHERE quotationId = @id 
          AND quo_product = @product",con); 

    //1st row 2nd column     
    cmd.Parameters.AddWithValue("@id",GridView1.SelectedIndex.ToString()); 

    //1st row 3rd column 
    cmd.Parameters.AddWithValue("@product",GridView1.SelectedIndex.ToString()); 

    if(rdr.HasRows) 
    { 
     while(rdr.Read()) 
     { 
      lblProductName.Text = rdr["quo_product"].ToString(); 
      lblAddress.Text = rdr["quo_Address"].ToString(); 
     } 
    } 
    con.Close(); 
} 

私はit.Whatするために、私のcmd.Parameter内部I入力意志で選択した行の値を取得する方法がわからないので、私は私が私の if文の内側にいくつかのコードが不足している知っていますselectedRowの値を取得しますか?それは私が問題を知っていると病気私は前に2人の異なるセル名でそれを行っていない、私はそれを動作させるために変更することができますか見てみましょう動作しない場合

+0

あなたはGridViewの内側に 'OnSelectedIndexChanged' イベントを使用した行の値を選択し得ることができます。 – Irfan

答えて

1

GridView1.CurrentRow.Cells[index or column name]はこれを試してみてください試してみてください。あなたが使用しているdatagridviewの列名を持つようにdatagridviewで一番上のイメージを更新できますか?

private void dataGrid1_SelectionChanged(object sender, EventArgs e) 
     { 
      foreach (DataGridViewRow row in dataGrid1.SelectedRows) 
      { 
       string quo_product = row.Cells[0].Value.ToString(); 
       //string quo_Address = row.Cells[0].Value.ToString(); 
      } 
      lblProductName.Text = quo_product; 
      //lblAddress.Text = quo_Address; 
     } 

UPDATEこの質問は固定されている

原因で、後に尋ねた質問に対するライnalasa(Question

+0

は、コメントアウトされていますそれは2で動作しないので、今のところそれを試してみて、次に2番目のものを動作させることに集中することができます – Brendon

+0

待ってみてください。 –

+0

私の以前の質問であなたが私に与えたコードはすでに働いていました。 –

0

GridView1.SelectedRows[0].Cells["ColumnName"].Valueそれとも

+0

'OnSelectedIndexChange'の中に' loadOrders'クラスを置く必要がありますか? –

+0

あなたが選択した行があるかどうかを確認する必要がある場合はどこでも使用できます – Dmitry

+0

ok私はそれを試してみます。 –

関連する問題