我正在尝试将一个查找类型列添加到gridview。该列将用作用户的值选择列表,以便从中选择一个值。听起来相当直接,但问题是我希望picklist列是一个不在gridview数据源中的表的不同列表。如果我将选项列表表加入我的数据源,我可能无法获得完整的值列表,如果我创建了一个联盟,我怀疑我会在选项列表列中获得多个条目。所以我想我需要将选项列表列入另一个数据源或......?不知道?对你们好友(希望如此)并感谢所提供的任何帮助。
将
答案 0 :(得分:1)
您可以创建包含下拉列表的模板列。然后,您可以通过包括单独的objectdatasource在内的任何内容对数据下载列表进行数据绑定。
<asp:TemplateField HeaderText="Lookup">
<itemtemplate>
<asp:DropDownList runat="server" DataSourceId="SeperateDataSource" SelectedValue='<%# Bind("ValueThatIsSelectedUID") %>' ></asp:DropDownList>
<asp:ObjectDataSource runat="server" id="SeperateDataSource" selectmethod="SomeSelectMethod"></asp:ObjectDataSource>
</itemtemplate>
</asp:TemplateField>
模板字段还支持edititemtemplate
,footertemplate
和headertemplate
。
答案 1 :(得分:1)
您需要制作一个包含下拉列表的编辑模板。然后在gridview的数据绑定事件中,您将需要代码来填充ddl:
protected void grdGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (grdGrid.EditIndex == e.Row.RowIndex)
{
ddlMine = (DropDownList)e.Row.Cells[0].FindControl("ddlMine");
//bind ddlMine
}
}