我想将OleDbDataReader绑定到Listbox。我有读者的数据库值,我使用以下代码进行绑定
List<String> cat_name = new List<string>();
while (reader.Read())
{
cat_name.Add(reader["cat_name"].ToString());
}
ProductMainCategory.DataSource = cat_name;
ProductMainCategory.DataBind();
我从数据库中获取category_id和cat_name。此代码仅使用cat_name设置Listbox Text字段,但我还想填充Listbox的dataValue属性。请以最佳方式向我建议一些好方法。
答案 0 :(得分:1)
您应该使用某种类型的List,例如KeyValuePair或Tuple或您自己的类来存储这两个值。例如,
var categories = new List<KeyValuePair<string, string>>();
while (reader.Read())
{
categories.Add(new KeyValuePair<string, string>(reader["category_id "].ToString(), reader["cat_name"].ToString()));
}
ProductMainCategory.DataSource = Categories;
ProductMainCategory.DataValueField = "Key";
ProductMainCategory.DataTextField = "Value";
ProductMainCategory.DataBind();