Зацикливать все строки сетки при нажатии кнопки, когда включена подкачка - PullRequest
2 голосов
/ 10 ноября 2009

В моем виде сетки включено пейджинг ...

Мне нужно это в событии нажатия кнопки

  1. общее количество строк в сетке
  2. цикл по всем строкам в foreach

но он работает только для текущей страницы просмотра сетки ... help

protected void Button5_Click(object sender, EventArgs e)
{
    int[] no = new int[GridView2.Rows.Count];
    int i = 0;

    foreach (GridViewRow row in GridView2.Rows)
    {            
        Label l = (Label)row.FindControl("Label2");
        if (l.Text == "Unpaid")
        {
            int productID = Convert.ToInt32(GridView2.DataKeys[row.RowIndex].Value);
            no[i] = productID;
            i++;
         }
     }
}

1 Ответ

3 голосов
/ 10 ноября 2009

, чтобы достичь, вы должны отключить пейджинг перед циклом. перепривязать сетку и выполнить цикл. Затем включите пейджинг и снова свяжите сетку.

       protected void Button5_Click(object sender, EventArgs e)       
 { 
GridView2.AllowPaging = false;
 // do your databind here 
GridView2.databind(); 
int[] no = new int[GridView2.Rows.Count];      
          int i = 0;        
    foreach (GridViewRow row in GridView2.Rows)      
      {                             
   Label l = (Label)row.FindControl("Label2");
                    if (l.Text == "Unpaid")        
            {                    
    int productID = Convert.ToInt32(GridView2.DataKeys[row.RowIndex].Value);                        no[i] = productID;                        i++;                    }                }  


              )



GridView2.AllowPaging = true;
        // do your databind here again
        GridView2.databind();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...