2012-12-18 96 views
1

我正在使用沒有數據源的gridview。在PageIndexChanging該頁面爲空白。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> 

回答

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(); 
} 
+2

另外:當不使用像SqlDataSource這樣的聲明性數據源控件時。但OP沒有使用它,所以你的答案似乎是解決方案。 –

+0

@TimSchmelter:我認爲它們意味着它在一行 –

+0

你如何定義'datasource'因爲老實說,我沒有得到它。 – Esha

0

我認爲您應該使用PageIndexChanged事件而不是PageIndexChanging。我認爲你沒有使用NeedDataSource事件。