2010-02-26 67 views
2

變量值從下面的代碼,我從所選擇的行得到一個單元格的值到一個DataGridView:增加+1

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

然後我需要轉換爲int:

int category = Convert.ToInt32(Kategoria_); 

並把這個號碼作爲索引到ComboBox:

cmbCategory2.SelectedIndex = category; 

的問題是,我使用這個類型的查詢:

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

總是我有+1索引,所以我沒有得到真正的索引(或使用-1索引號),因爲已經爲'All'值保留了0!

因此,從組合框中選擇的項目沒有正確的索引號!

+0

請重新設置代碼部分的格式以使其更具可讀性。 – AxelEckenberger 2010-02-26 21:52:15

回答

2

只需使用SelectedValue而不是SelectedIndex。這將允許Id範圍和其他分類中的差距。

通過設置ValueMember和DisplayMember(或ASP.NET中的DataValueSomething)屬性來配置ComboBox。

+0

完美而簡單:) 謝謝... – gaponte69 2010-02-28 22:01:26

2

您的數據是否以1開頭,每行增加1?如果沒有,你永遠不會讓你的SelectedIndex排隊。您應該設置SelectedValue屬性,並在數據綁定中將值字段定義爲「b」。

+0

有用的答案... 謝謝! – gaponte69 2010-02-28 22:02:28