从Dataset添加ListBox项

时间:2010-02-25 01:18:54

标签: asp.net listbox dataset loops for-loop

我有这个C#代码。

j = myAccountDataset.Tables["AccountsTables"].Rows.Count;

                for (i = 0; i <= (j - 1); i++ )
                {

                   listAccountList.Items.Add(myAccountDataset.Tables[0].Rows[i][1]);
                }

                this.listAccountList.SelectedIndex = 0;

我们的想法是在数据集内迭代并将项目添加到列表中。 但我收到以下错误: 错误1'System.Web.UI.WebControls.ListItemCollection.Add(string)'的最佳重载方法匹配有一些无效的参数

Argument1:无法从'object'转换为'string'

我必须做错事。 thye错误在行中:listAccountList.Items.Add(myAccountDataset.Tables [0] .Rows [i] [1]);

谢谢。

2 个答案:

答案 0 :(得分:1)

ListItemCollection的Add方法只接受两种类型 - 字符串或ListItem 请参阅MSDN文档here。您需要传递字符串而不是对象:

listAccountList.Items.Add(myAccountDataset.Tables[0].Rows[i][1].ToString());

答案 1 :(得分:0)

更多描述

你的myAccountDataset.Tables [0] .Rows [i] [1]是一个无类型对象,Add方法需要一个字符串,你需要将对象强制转换为字符串。最简单的方法是将.ToString()运算符添加到数据行对象

myAccountDataset.Tables[0].Rows[i][1].Tostring()