我一直试图让这一整天都在工作。我需要根据标题中的下拉列表中的内容过滤gridview。我可以在我的代码隐藏中执行此操作,但是如何将我创建的表绑定到gridview? gridview.databind()在这种情况下不起作用,因为列不是数据绑定列。
这是我的代码:
<asp:GridView ID="GridView3" runat="server" CellPadding="3"
ForeColor="#333333" GridLines="None"
AllowSorting="True" SortedAscendingHeaderStyle-CssClass="sortasc-header"
SortedDescendingHeaderStyle-CssClass="sortdesc-header"
AllowPaging="True" PageSize="17" PagerSettings-Mode="NextPreviousFirstLast"
ShowHeaderWhenEmpty="True" PagerStyle-Font-Names="WebDings" PagerStyle-Font-Size="Medium"
PagerSettings-FirstPageText=" 7 " PagerSettings-PreviousPageText=" 3 "
PagerSettings-NextPageText=" 4 " PagerSettings-LastPageText=" 8 "
Font-Size="Small" onpageindexchanging="GridView3_PageIndexChanging"
onsorting="GridView3_Sorting" AutoGenerateColumns="False"
ondatabound="GridView3_DataBound">
<AlternatingRowStyle BackColor="White" ForeColor="#333333" />
<Columns>
<asp:BoundField HeaderText="Date" DataField="Date" />
<asp:BoundField HeaderText="Time" DataField="Time"/>
<asp:TemplateField HeaderText="Type">
<HeaderTemplate>
<asp:DropDownList ID="TypeList" runat="server" Height="21px" Width="134px"
DataSourceId="dsWarningType"
DataTextValue="Name" DataValueField="Name">
<asp:ListItem Text="All" Selected="True"></asp:ListItem>
</asp:DropDownList>
</HeaderTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Process" >
<HeaderTemplate>
<asp:DropDownList ID="Process" runat="server" Height="21px" Width="134px"
>
</asp:DropDownList>
</HeaderTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Index" >
<HeaderTemplate>
<asp:DropDownList ID="Index" runat="server" Height="21px" Width="134px"
>
</asp:DropDownList>
</HeaderTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Body" DataField="Body"/>
</Columns>
<EditRowStyle BackColor="#999999" />
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<PagerSettings FirstPageText=" 7 " LastPageText=" 8 " Mode="NextPreviousFirstLast" NextPageText=" 4 " PreviousPageText=" 3 "></PagerSettings>
<PagerStyle BackColor="#5D7B9D" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#DCE2E8" ForeColor="#333333" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingHeaderStyle CssClass="sortasc-header"></SortedAscendingHeaderStyle>
<SortedDescendingHeaderStyle CssClass="sortdesc-header"></SortedDescendingHeaderStyle>
</asp:GridView>
当我创建表时,它会很好地绑定Date,Time和Body字段,但会将Type,Process和Index字段留空。
答案 0 :(得分:0)
使用Eval或Bind绑定下拉列表 示例
<asp:TemplateField HeaderText="Process" >
<HeaderTemplate>
<asp:DropDownList ID="Process" runat="server" Height="21px" Width="134px"
Text='<%# Eval("Name") %>'
</asp:DropDownList>
</HeaderTemplate>
</asp:TemplateField>