从下面的代码我得到一个从选定行到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?
因此,组合框中的所选项目没有正确的索引编号!!!
答案 0 :(得分:2)
您的数据是否以1开头并且每行增加1?如果没有,你永远不会让你的SelectedIndex排队。您应该设置SelectedValue属性,并在数据绑定中将值字段定义为“b”。
答案 1 :(得分:2)
只需使用SelectedValue而不是SelectedIndex。这样就可以在Id范围和其他排序中留出空白。
通过设置ValueMember和DisplayMember(或ASP.NET中的DataValueSomething)属性来配置ComboBox。