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 索引号),因为已经为 'All' 值保留了 0?!

所以,从组合框中选择的项目没有正确的索引号!!!

4

2 回答 2

2

只需使用 SelectedValue 而不是 SelectedIndex。这也将允许 Id-range 和其他排序中的间隙。

通过设置 ValueMember 和 DisplayMember(或 ASP.NET 中的 DataValueSomething)属性来配置 ComboBox。

于 2010-02-26T23:01:39.217 回答
2

您的数据是否以 1 开头并每行增加 1?如果没有,您将永远无法让您的 SelectedIndex 排队。您应该在数据绑定中设置 SelectedValue 属性并将值字段定义为“b”。

于 2010-02-26T21:54:55.167 回答