【发布时间】:2017-08-16 13:36:27
【问题描述】:
如何在后面的代码中将DropDownList 列添加到gridview?在我的例子中,我想添加一个名为Employer 的下拉列表。我已经成功添加了 1 个名为 Name 的字符串列,代码如下:
DataTable dt = new DataTable();
DropDownList drp = new DropDownList();
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Employer", typeof(DropDownList));
drp.Items.Add(new ListItem("test", "0"));
foreach (SPListItem item in queryResults)
{
dr["Name"] = item["iv3h"].ToString();
dr["Employer"] = drp;
dt.Rows.Add(dr);
}
BoundField bf = new BoundField();
bf.DataField = "Name";
bf.HeaderText = "Name";
bf.HeaderStyle.HorizontalAlign = HorizontalAlign.Left;
bf.ItemStyle.HorizontalAlign = HorizontalAlign.Left;
GridViewEarningLine.Columns.Add(bf);
Name 列运行良好,但Employer 在每一行都显示此消息System.Web.UI.WebControls.DropDownList。
我无权访问 ASPX 页面,因此无法使用 TemplateField 添加它
【问题讨论】:
-
您不能将 DropdownList 对象绑定到 DataRow,您必须从 DropdownsList 中选择一个属性才能显示。例如:drp.Employer.Name