我不能通過使用代碼隱藏搜索我的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