2016-06-22 3 views
0

私は小さなプロジェクトを自分のフォームの中に持っています。私は3列のdatagridviewを持っています。列の1つがSQL ServerのテーブルIDと名前でバインドされたcomboboxcolumnです。datagridviewの値を別のテーブルに挿入したいcomboboxcolumn私は名前ではなく、誰でも私にそれをしてくださいどのように私に電話をすることができますIDを挿入したいですか?これは私の挿入コード `datagrdiviewComboboxColumn valueメンバーを取得する方法は?

for (int i = 0; i < dgv_student.Rows.Count; i++) 
{ 
    sc.add_student(dgv_student.Rows[i].Cells[0].Value.ToString(), 
    Convert.ToInt32(dgv_student.Rows[i].Cells[1].Value), 
    dgv_student.Rows[i].Cells[2].Value.ToString()); 
    } 

` セル名ではないIDを表示し、[1]コンボボックスです。あなたの例では

答えて

0

あなたが持っている:あなたのデータベースセットとして

Name ID 
X  X 

。あなたは、データベースからこれを取得している場合、あなたはおそらくやっている:

myDataGridView.DataSource = GetAllFromMyDatabase(); // Select * from stuff 
myDataGridView.DataBind(); 

はあなたにすべての3つの列、および値を与えます。今度は、1つの列だけを挿入する場合は、データベース/ gridviewから取得しているデータをフィルタリングするだけではいかがですか?

myComboBox.DataSource = GetOnlyIDFromMyDatabaseOrMyDataGrid(); // Select ID from Stuff 
myComboBox.DataBind(); 

必要なデータだけを使用してasp.netのコントロールをバインドではなく、すべてを取得して、フィルタリングしている場合は、考えるより少ないオーバーヘッドを持っています。

+0

データベーステーブルには2つのカラムと名前しかありませんが、コンボボックスカラムには名前の表示メンバーが表示されますが、別のテーブルにdatagrdiviewローを挿入すると、コンボカラムの値メンバーcuzには、トウテーブル間の関係があります。 –

+0

@ honar.csありがとうございます。さまざまなコントロールを必要なデータにバインドする必要があります。あなたのコントロールに応じて、リスト、辞書、または関数が正しく入力されていれば、あなたは良いです。 – Mekap

関連する問題