2

以下のコードから、選択した行からdataGridViewへのセル値を取得しています。

string Kategoria_ = dataGridView1.CurrentRow.Cells[1].Value.ToString();

次に、intに変換する必要があります。

int category = Convert.ToInt32(Kategoria_);

そして、この番号をコンボボックスのインデックスとして配置します。

cmbCategory2.SelectedIndex = category;

問題は、私がこの種のクエリを使用していることです。

SELECT '0' b, ' All' a union select kategori_id b, kategori_emri a from tbl_kategoria order by a

そして、常に+1のインデックスを持っているので、真のインデックスを取得していません(または-1のインデックス番号を使用していません)。これは、すでに0が「すべて」の値に予約されているためです。

したがって、コンボボックスから選択したアイテムには正しいインデックス番号がありません!!!

4

2 に答える 2

2

データは1から始まり、行ごとに1ずつ増加しますか?そうしないと、SelectedIndexが整列することはありません。SelectedValueプロパティを設定し、データバインディングで値フィールドを「b」として定義する必要があります。

于 2010-02-26T21:54:55.167 に答える
2

SelectedIndexの代わりにSelectedValueを使用するだけです。これにより、Id範囲と他の並べ替えのギャップも考慮されます。

ValueMemberおよびDisplayMember(またはASP.NETではDataValueSomething)プロパティを設定して、ComboBoxを構成します。

于 2010-02-26T23:01:39.217 に答える