我正在尝试从SQL查询中填充我的WebForm中的ListBox控件。我希望DisplayMember和ValueMember相同。这就是我到目前为止所做的:
try
{
SqlConnection conn = new SqlConnection(connString);
conn.Open();
string strQuery = "SELECT Client from filtername";
SqlDataAdapter sdaClient = new SqlDataAdapter(strQuery, conn);
DataSet dsClient = new DataSet();
sdaClient.Fill(dsClient, "filtername");
DataTable dtClient = dsClient.Tables[0];
DataRow drTemp = null;
foreach (DataRow drTempRow in dtClient.Rows)
{
drTemp = drTempRow;
lbEnt.Items.Add(drTemp["Client"]);
}
}
lbEnt
是我的ListBox的ID。使用上面的代码,我收到以下错误:
最佳重载方法匹配 ' System.Web.UI.WebControls.ListItemCollection.Add'有一些无效的 参数。
如何修改代码以使用查询返回来填充列表框?
答案 0 :(得分:3)
您可以使用ListItem,这样您就可以提供Text和Value字符串:
lbEnt.Items.Add(new ListItem(drTemp["Client"].ToString(),drTemp["Client"].ToString()));
答案 1 :(得分:2)
你试过吗
drTemp["Client"].ToString()
在添加之前,您可能需要将值转换为String。