2010-02-26 66 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