.net 2005 gridview

时间:2009-09-25 19:44:35

标签: asp.net gridview templates

我正在尝试将一个查找类型列添加到gridview。该列将用作用户的值选择列表,以便从中选择一个值。听起来相当直接,但问题是我希望picklist列是一个不在gridview数据源中的表的不同列表。如果我将选项列表表加入我的数据源,我可能无法获得完整的值列表,如果我创建了一个联盟,我怀疑我会在选项列表列中获得多个条目。所以我想我需要将选项列表列入另一个数据源或......?不知道?对你们好友(希望如此)并感谢所提供的任何帮助。

2 个答案:

答案 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>

模板字段还支持edititemtemplatefootertemplateheadertemplate

答案 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
  }
}