Gridview无法处理PageIndexChanging

时间:2012-12-18 09:53:53

标签: c# gridview data-binding datasource page-index-changed

我正在使用没有数据源的gridview。在PageIndexChanging上,该页面为空白。

我的后端代码是:

protected void gridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    Gen_Lic_Grid.PageIndex = e.NewPageIndex;
    Gen_Lic_Grid.DataBind();
}

我的前端代码是:

  <asp:GridView ID="Gen_Lic_Grid" runat="server" AllowPaging="True" AutoGenerateColumns="False" CellPadding="4" DataKeyNames="Lic_No" ForeColor="#333333" GridLines="None" OnPageIndexChanging="gridView_PageIndexChanging" PageSize="15" Width="110%">
   <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
    <Columns>
 <asp:BoundField DataField="Lic_No" HeaderText="License No" ReadOnly="True" SortExpression="Lic_No" />
 <asp:BoundField DataField="UserID" HeaderText="User ID" SortExpression="UserID" />
 <asp:BoundField DataField="Org" HeaderText="Organization" 
                                    SortExpression="Org" />
 <asp:BoundField DataField="UserName" HeaderText="User Name" SortExpression="UserName" />
 <asp:BoundField DataField="SolType" HeaderText="Solution Type" SortExpression="SolType" />
<asp:BoundField DataField="Version" HeaderText="Version" SortExpression="Version" />
<asp:BoundField DataField="Lic_Type" HeaderText="License Type" SortExpression="Lic_Type" />
<asp:BoundField DataField="Meap_Supp" HeaderText="Meap Support" SortExpression="Meap_Supp" />
<asp:BoundField DataField="Lic_From" HeaderText="License From" SortExpression="Lic_From" />
<asp:BoundField DataField="Lic_To" HeaderText="License To" SortExpression="Lic_To" />
<asp:BoundField DataField="Supp_From" HeaderText="Support From" SortExpression="Supp_From" />
<asp:BoundField DataField="Supp_To" HeaderText="Support To" SortExpression="Supp_To" />
<asp:BoundField DataField="Max_User" HeaderText="Max Users" SortExpression="Max_User" />
<asp:BoundField DataField="Max_Mach" HeaderText="Max Machines" SortExpression="Max_Mach" />
<asp:BoundField DataField="Mach_IP" HeaderText="Machine IP" SortExpression="Mach_IP" />
<asp:BoundField DataField="Mach_MAC" HeaderText="Machine MAC" SortExpression="Mach_MAC" />
</Columns>
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#999999" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
</asp:GridView>

2 个答案:

答案 0 :(得分:3)

您需要在调用Gen_Lic_Grid.DataBind();之前设置数据源。

protected void gridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    Gen_Lic_Grid.PageIndex = e.NewPageIndex;
    Gen_Lic_Grid.DataSource = MyVariable;
    Gen_Lic_Grid.DataBind();
}

答案 1 :(得分:0)

我认为你应该使用PageIndexChanged事件代替PageIndexChanging。我认为你没有使用NeedDataSource事件。