2012-01-05 19 views
0

DataGridViewが1つあり、DataGridViewに1つのDataGridViewComboBoxColumnがあるとします。 私は、データグラムのコンボボックスに国名とコードを入力しています。DataGridViewComboBoxColumnから値とテキストを選択します。C#

これで、私は、私がDataGridViewComboBoxColumnの値とテキストを選択したいと思っています。値を取得できませんでしたが、forループのDataGridViewComboBoxColumnから表示テキストを取得できませんでした。

可能であれば、小さなコードで助けてください。

private void button1_Click(object sender, EventArgs e) 
    { 
     for (int i = 0; i <= dgList.Rows.Count - 1; i++) 
     { 
      DataGridViewComboBoxCell cell = dgList.Rows[i].Cells[0] as DataGridViewComboBoxCell; 
      int index = cell == null || cell.Value == null ? -1 : cell.Items.IndexOf(cell.Value); 
      string strVal = cell.Value.ToString(); 
     } 
    } 

おかげ

+0

方法例えば

dgList [ "COLUMNNAME"、rowIndexに] .Valueの

をあなたはコンボボックスの列に値をバインドしていますか? – V4Vendetta

答えて

1

あなたはFormattedValueValueのような値にアクセスしてみてくださいすることができ、これはあなたに2つの値を与える必要があります。

私はDictionary<string,string>DataSourceとして使用しようとしましたが、上記のプロパティを使用して両方の値を取得できました。

+0

は、テキストと値を与えるFormattedValueは、値を与えてくれてありがとう。できます。 – Thomas

+0

偉大な..答えとしてマークすることを忘れないでください – V4Vendetta

0

はこれを試してみてください。

for (int i = 0; i <= dgList.Rows.Count - 1; i++) 
     { 
     string strval=((ComboBox)(dgList.Rows[i].cells[0].FindControl("ComboBox1"))).SelectedValue; 
     } 
+0

私はasp.netについて話していません。私はC#でWindowsアプリケーションで作業しています。私はdatagridviewを使って作業しています。 FindControlはありません。 Uアプリは勝利のテストをしましたか? – Thomas

+0

申し訳ありませんその間違い – Vinod

0

期待どおりの値にキャストするだけですか?

このお試しください:

Convert.toInt32(dgList [ "COLUMNNAME"、rowIndexに] .Valueの)

関連する問題