我不能通过使用代码隐藏搜索我的gridview结果。过滤gridview数据源
我有一个按钮和一个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 ??? – 2014-10-03 14:04:12
忘了粘贴在... 1秒 – MrProgram 2014-10-03 14:05:05
我发布了答案尝试 – 2014-10-03 14:18:09