2012-04-09 25 views
0

我有一个gridview在页面加载我通过使用checkfunction更改按钮的一些图像但是,当我更改页面的索引。页面加载不我试过 GridView1_PageIndexChanging,GridView1_SelectedIndexChanged程序被调用,GridView1_PageIndexChanged事件如何在页面更改时填充datagridview中的某些列? c#

在代码在页面加载,我复制它的事件,但它不工作

 DBConnection db = new DBConnection(); 


     for (int i = 0; i < GridView1.Rows.Count; i++) 
     { 
      GridViewRow gvrow = GridView1.Rows[i]; 
      ImageButton ib = (ImageButton)gvrow.Controls[1].Controls[0]; 

      string feedUrl = ((HiddenField)GridView1.Rows[i].FindControl("HiddenField1")).Value; 



      bool res = db.CheckAddedFeeds(feedUrl, User_Name); 
      if (res) 
      { 
       ib.ImageUrl = "~/images/delete.png"; 
      } 

     } 
+0

,你必须在这些事件再次绑定的GridView。 – 2012-04-09 10:15:29

回答

0

首先所有你需要的绑定的GridView如下

private void BindGridView() 
{ 
     // place your bind grid code here.. 
    DBConnection db = new DBConnection(); 

    for (int i = 0; i < GridView1.Rows.Count; i++) 
    { 
     GridViewRow gvrow = GridView1.Rows[i]; 
     ImageButton ib = (ImageButton)gvrow.Controls[1].Controls[0]; 

     string feedUrl = ((HiddenField)GridView1.Rows[i].FindControl("HiddenField1")).Value; 



     bool res = db.CheckAddedFeeds(feedUrl, User_Name); 
     if (res) 
     { 
      ib.ImageUrl = "~/images/delete.png"; 
     } 

    } 


} 

调用这个函数在你的心尖代码创建一个函数后面的页面加载

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { 
     BindGridView(); 
    } 

} 

代码处理分页事件背后像下面

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
    GridView1.PageIndex = e.NewPageIndex; 
    BindGridView(); 
} 

希望这将帮助你...

+0

它不能解决问题 – leventkalay92 2012-04-09 11:04:40

相关问题