2013-07-15 76 views
1


我的要求是顯示來自數據庫的所有國家,並且我必須爲每個國家顯示其各自的狀態。
因此,用於顯示我使用DataList的所有國家。 該DataLIst的OnItemDataBound函數我綁定了GridView以顯示其各自的狀態。
現在,我想給那個在datalist中的內部gridview分頁。
我不知道如何處理datalist內的gridview分頁。
DataList中的GridView的分頁

我已經綁定網格視圖,

protected void dataListCountries_OnItemDataBound(object sender, DataListItemEventArgs e) 
{  
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
    { 
     HiddenField hdn = (HiddenField)e.Item.FindControl("hdnCountryID"); 
     GridView grd = (GridView)e.Item.FindControl("grdDetails"); 

     objCountries = new Countries(); 
     lstCountries = objCountries.getallCountries(); 
     grd.DataSource = lstCountries ; 
     grd.DataBind(); 
    } 
} 

請你的任何一個提供我一個解決方案。提前致謝。

+0

你可以使用NamingContainer屬性來做到這一點 – Gangadhar

+0

你可以把你的網格綁定代碼放在小提琴/這裏,這樣它很容易回答 – Gangadhar

+0

@Gangadhar我給了我的網格綁定代碼。一旦檢查出來.. –

回答

2

如果你的gridview綁定了一些來自datalist項目的輸入參數,那麼你需要有一個標籤來保存它在datalist中。

protected void gv_PageIndexChanging(object sender, GridViewPageEventArgs e) 
    { 
     try 
     { 
      GridView gv = (sender as GridView); 
      DataListItem DLItem= (DataListItem)gv.NamingContainer; 
      //Label Id = (Label)DLItem.FindControl("lblId"); 

      gv.PageIndex = e.NewPageIndex; 

      //Your gridbinding code 
    HiddenField hdn = (HiddenField)DLItem.FindControl("hdnCountryID"); 
    //GridView grd = (GridView)e.Item.FindControl("grdDetails"); 

    objCountries = new Countries(); 
    lstCountries = objCountries.getallCountries(); 
    gv .DataSource = lstCountries ;//lstOrders; 
    gv .DataBind(); 

     } 
     catch (Exception ex) 
     { 

      // return; 
     } 

    } 

包含網格綁定code.Here我認爲你沒有使用隱藏的字段值綁定網格。我認爲你需要將網格與lstCountries綁定,而不是lstOrders。

+0

Thanx @Gangadhar。它爲我工作.. –

1

你可以試試這個 其中GV是GridView和namingcontainer是DataList控件是父母 datasettable是對數據進行綁定 clsCommon.GridViewPopulate爲biinging電網 我希望這是有益的 寫在pageindexchanging財產

protected void gv_PageIndexChanging(object sender, GridViewPageEventArgs e) 
    { 
     try 
     { 
      GridView grd= (sender as GridView); 
      GridViewRow gvrow = (GridViewRow)grd.NamingContainer; 

      objCountries = new Countries(); 
    lstCountries = objCountries.getallCountries(); 
    grd.DataSource = lstOrders; 
    grd.DataBind(); 

      gv.PageIndex = e.NewPageIndex; 


     } 
     catch (Exception ex) 
     { 

      return; 
     } 

    }