【发布时间】:2014-11-28 14:24:48
【问题描述】:
我无法使用代码隐藏搜索我的 gridview 结果。
我有一个按钮和一个网格视图:
<asp:TextBox ID="txtPaperId" Width="146" runat="server" />
<asp:Button runat="server" ID="btnSearch" Text="Search" OnClick="FilterResult"/>
<asp:GridView ID="gvwResavePositions" runat="server" EmptyDataText="No Positions found!"
AllowPaging="True" AllowSorting="True" PageSize="50" AutoGenerateColumns="False"
SkinID="gridviewGridlinesSkin" HeaderStyle-HorizontalAlign="Left"
OnPageIndexChanging="gvwResavePositions_PageIndexChanged"
HorizontalAlign="Left" Width="100%">
<HeaderStyle BackColor="DarkGray" Font-Bold="True" HorizontalAlign="left" />
<RowStyle HorizontalAlign="Left" />
<Columns>
<asp:BoundField ItemStyle-Width="40px" DataField="strPaperId" HeaderText="K+Id / PaperId" ReadOnly="True"/>
<asp:TemplateField HeaderText="Resave">
<ItemTemplate>
<asp:CheckBox ID="bResave" runat="server" Width="50"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle HorizontalAlign="Left" />
</asp:GridView>
我的代码在后面:
protected void FilterResult(object sender, EventArgs e)
{
try
{
(gvwResavePositions.DataSource as DataTable).DefaultView.RowFilter = string.Format("strPaperId = '{0}'",
txtPaperId.Text);
}
catch (Exception ex)
{
var t = ex.Message;
}
}
当我按下“搜索”按钮时,我得到“对象引用未设置为对象的实例。”
objectdatasource 是在按下搜索按钮之前设置的(它是另一个按钮......),所以当 FilterResult 运行时,gridview 充满了结果......
你有什么建议吗?
编辑
解决了。那是因为我的数据源是空的,所以我不得不重新绑定它。
【问题讨论】:
-
txtPaperId 在哪里???
-
忘记粘贴... 1 秒
-
我发布了答案尝试一下
标签: c# asp.net gridview filter code-behind