2011-11-01 112 views
0

我有一個網格名稱=在該網格gvDetails我有一個下拉也爲頁面導航對象引用不設置爲一個對象的一個​​實例中的GridView

protected void gvDetails_DataBound(object sender, EventArgs e) 
{ 
    GridViewRow pagerRow = gvDetails.BottomPagerRow; 
    DropDownList pageList = 

(DropDownList的)pagerRow.Cells [0 ] .FindControl( 「PageDropDownList」);

Label pageLabel = (Label)pagerRow.Cells[0].FindControl("CurrentPageLabel"); 
    if (pageList != null) 
    { 
     for (int i = 0; i < gvDetails.PageCount; i++) 
     { 
      int pageNumber = i + 1; 
      ListItem item = new ListItem(pageNumber.ToString()); 
      if (i == gvDetails.PageIndex) 
      { 
       item.Selected = true; 
      } 
      pageList.Items.Add(item); 
     } 
    } 
    if (pageLabel != null) 
    { 
     int currentPage = gvDetails.PageIndex + 1; 
    } 
} 

----- * ** * ** ----------

這是填充編碼我有

protected void gvDetails_DataBound(object sender, EventArgs e) 
{ 
    GridViewRow pagerRow = gvDetails.BottomPagerRow; 
    DropDownList pageList = (DropDownList)pagerRow.Cells[0].FindControl("PageDropDownList"); 
    Label pageLabel = (Label)pagerRow.Cells[0].FindControl("CurrentPageLabel"); 
    if (pageList != null) 
    { 
     for (int i = 0; i < gvDetails.PageCount; i++) 
     { 
      int pageNumber = i + 1; 
      ListItem item = new ListItem(pageNumber.ToString()); 
      if (i == gvDetails.PageIndex) 
      { 
       item.Selected = true; 
      } 
      pageList.Items.Add(item); 
     } 
    } 
    if (pageLabel != null) 
    { 
     int currentPage = gvDetails.PageIndex + 1; 
    } 
} 
protected void PageDropDownList_SelectedIndexChanged(Object sender, EventArgs e) 
{ 
    GridViewRow pagerRow = gvDetails.BottomPagerRow; 
    DropDownList pageList = (DropDownList)pagerRow.Cells[0].FindControl("PageDropDownList"); 
    gvDetails.PageIndex = pageList.SelectedIndex; 
} 
private void LoadBindGrid() 
{ 
    ////Set your connection String here 
    SqlConnection CN = DBUtil.GetCon(); 
    if (CN.State != ConnectionState.Closed) 
     CN.Close(); 
    CN.Open(); 
    string q = "SELECT Head_Code,Head_Name,Section_Code,Head_Mode,Head_Type,Head_Status FROM eLogs_Acc_Account_Master"; 
    SqlCommand cmd = new SqlCommand(q, CN); 
    //SqlConnection cn = new SqlConnection("Data Source=.;Initial Catalog=Northwind;Integrated Security=True"); 
    ////Write a select Query 
    //string q = "select CustomerID,CompanyName,ContactName,Phone,City,Country from Customers"; 
    DataSet dset = new DataSet(); 
    SqlDataAdapter da = new SqlDataAdapter(q, CN); 
    //cn.Open(); 
    DataTable dtable = new DataTable(); 
    da.Fill(dtable); 
    //Bind grid. 
    gvDetails.DataSource = dtable; 
    gvDetails.DataBind(); 
    CN.Close(); 
} 

未將對象引用設置爲對象的實例。 (DropDownList pageList =(DropDownList)pagerRow.Cells [0] .FindControl(「PageDropDownList」);) 請幫助

+0

究竟哪一行?顯然有些變量是未設置的,但不知道哪一個是不可能說**爲什麼** – ChrisF

+0

DropDownList pageList =(DropDownList)pagerRow.Cells [0] .FindControl(「PageDropDownList」);這一行我有錯誤 – Rajkumar

+0

對象引用arror我被清除我想綁定數據的網格我應該如何綁定數據 – Rajkumar

回答

0

請檢查空值並提前退出。這裏是我的意思是:

protected void gvDetails_DataBound(object sender, EventArgs e) 
{ 
    GridViewRow pagerRow = gvDetails.BottomPagerRow; 
    //-- quick exit if pagerRow not found 
    if(pagerRow == null) return;

DropDownList pageList = (DropDownList)pagerRow.Cells[0].FindControl("PageDropDownList"); 
if(pageList==null) return; 

Label pageLabel = (Label)pagerRow.Cells[0].FindControl("CurrentPageLabel"); 


    for (int i = 0; i < gvDetails.PageCount; i++) 
    { 
     int pageNumber = i + 1; 
     ListItem item = new ListItem(pageNumber.ToString()); 
     if (i == gvDetails.PageIndex) 
     { 
      item.Selected = true; 
     } 
     pageList.Items.Add(item); 
    } 

if (pageLabel != null) 
{ 
    int currentPage = gvDetails.PageIndex + 1; 
} 

}

請注意,上面的代碼是唯一的,以確保你將永遠不會得到對象的引用糾錯,你必須確保它通過你的自我正常工作。

快樂編碼

+0

這裏的數據沒有綁定到網格視圖,它顯示空網格 – Rajkumar

+0

這裏我想綁定數據進入網格我想如何將數據綁定到網格幫助 – Rajkumar

+0

我看,你可以直接寫pagerRow.FindControl直接 –

相關問題