| | |
Paging in dataGrid
Please support our ASP.NET advertiser: Intel Parallel Studio Home
![]() |
Hi all
I have a problem in paging datagrid ..
I have a datagrid and i have template columns in it - is that affect on paging ? , so why paging doesn't work .
i tried the following code after allowing paging to datagrid:
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
DataGrid1.DataBind();
}
does that should code work ?
or could any one give me a successeded code please .
Thanx..
I have a problem in paging datagrid ..
I have a datagrid and i have template columns in it - is that affect on paging ? , so why paging doesn't work .
i tried the following code after allowing paging to datagrid:
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
DataGrid1.DataBind();
}
does that should code work ?
or could any one give me a successeded code please .
Thanx..
Life Is A Big Code
Rushdy Ibrahim
Egypt
Rushdy Ibrahim
Egypt
•
•
Join Date: Mar 2006
Posts: 84
Reputation:
Solved Threads: 1
hey man
if u put a template in the datagrid, that doesn't affect. for the paging to work well u should write the source below.
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e) Handles DataGrid1.PageIndexChanged {
DataGrid1.CurrentPageIndex = e.NewPageIndex;
<!-- here u should open connection
execute the query
close the connection
then data binding -->DataGrid1.DataBind();
if u put a template in the datagrid, that doesn't affect. for the paging to work well u should write the source below.
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e) Handles DataGrid1.PageIndexChanged {
DataGrid1.CurrentPageIndex = e.NewPageIndex;
<!-- here u should open connection
execute the query
close the connection
then data binding -->DataGrid1.DataBind();
Thank you very much ,
But i did that before ,
The problem is i am using template columns , and change the properties of the controls(in the template columns) by a for loop which change all controls according to the index of the loop. but the compiler fires error when the index exceeds the page size
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
DataGridItem dgi = DataGrid1.Items[i]; // this is the error
LinkButton c_lb=(LinkButton)dgi.FindControl("Client_LB");
c_lb.Text=ds.Tables[0].Rows[i][0].ToString();
}
Exception
Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
But i did that before ,
The problem is i am using template columns , and change the properties of the controls(in the template columns) by a for loop which change all controls according to the index of the loop. but the compiler fires error when the index exceeds the page size
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
DataGridItem dgi = DataGrid1.Items[i]; // this is the error
LinkButton c_lb=(LinkButton)dgi.FindControl("Client_LB");
c_lb.Text=ds.Tables[0].Rows[i][0].ToString();
}
Exception
Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
Life Is A Big Code
Rushdy Ibrahim
Egypt
Rushdy Ibrahim
Egypt
•
•
Join Date: Mar 2006
Posts: 4
Reputation:
Solved Threads: 0
You definitely get this error as the data shown in grid is only 10 records(depending on the count you mentioned) but you are looping through the all the records in dataset.
•
•
•
•
Originally Posted by web developer
Thank you very much ,
But i did that before ,
The problem is i am using template columns , and change the properties of the controls(in the template columns) by a for loop which change all controls according to the index of the loop. but the compiler fires error when the index exceeds the page size
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
DataGridItem dgi = DataGrid1.Items[i]; // this is the error
LinkButton c_lb=(LinkButton)dgi.FindControl("Client_LB");
c_lb.Text=ds.Tables[0].Rows[i][0].ToString();
}
Exception
Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
Thank you very much
i have just tried the ItemDataBound event which set values to items in the bound time , it is really great ..
but also i have a problem in that event that how can i get a text from a cell from the e handler ?
i tried the following code in that event
DataGridItem dgi=e.Item;
SqlDataAdapter ad = new SqlDataAdapter("select Client_Name,Proj_Name,Task_Name,Task_Progress,Task_EndDate,Proj_Color,Task.Task_Id from Task,Client,Project where Task_Owner='"+Session["Uname"].ToString()+"' and Task.Task_Proj_Id=Project.Proj_Id and Project.Proj_Client_Id =Client.Client_Id and Task.Task_Id="+dgi.Cells[0].Text,con);
DataSet ds1= new DataSet();
LinkButton c_lb=(LinkButton)dgi.FindControl("Client_LB");
c_lb.Text=ds1.Tables[0].Rows[0][0].ToString();
but aslo the problem of paging is still exist ..
and i put in the 1st column the field of the task_id in databinding of the datagrid (as a Bound column) where can get the rest of columns data by quering by it .. although it returns an empty value at the first and the last rows of items
if you have a nice code to handle this event , i will be very pleased
Thank you very much
i have just tried the ItemDataBound event which set values to items in the bound time , it is really great ..
but also i have a problem in that event that how can i get a text from a cell from the e handler ?
i tried the following code in that event
DataGridItem dgi=e.Item;
SqlDataAdapter ad = new SqlDataAdapter("select Client_Name,Proj_Name,Task_Name,Task_Progress,Task_EndDate,Proj_Color,Task.Task_Id from Task,Client,Project where Task_Owner='"+Session["Uname"].ToString()+"' and Task.Task_Proj_Id=Project.Proj_Id and Project.Proj_Client_Id =Client.Client_Id and Task.Task_Id="+dgi.Cells[0].Text,con);
DataSet ds1= new DataSet();
LinkButton c_lb=(LinkButton)dgi.FindControl("Client_LB");
c_lb.Text=ds1.Tables[0].Rows[0][0].ToString();
but aslo the problem of paging is still exist ..
and i put in the 1st column the field of the task_id in databinding of the datagrid (as a Bound column) where can get the rest of columns data by quering by it .. although it returns an empty value at the first and the last rows of items
if you have a nice code to handle this event , i will be very pleased
Thank you very much
Life Is A Big Code
Rushdy Ibrahim
Egypt
Rushdy Ibrahim
Egypt
![]() |
Similar Threads
Other Threads in the ASP.NET Forum
- Previous Thread: calling session variable
- Next Thread: calling functions
| Thread Tools | Search this Thread |
.net 3.5 activexcontrol ajax alltypeofvideos appliances asp asp.net bc30451 beginner bottomasp.net box browser businesslogiclayer button c# cac checkbox class click commonfunctions countryselector dataaccesslayer database datagrid datagridview datagridviewcheckbox datalist deployment development dgv dialog dropdownlist dropdownmenu dynamic dynamically edit embeddingactivexcontrol fileuploader fill findcontrol flash formatdecimal formview gridview gudi iis javascript list listbox microsoft mono mouse mssql nameisnotdeclared news novell numerical opera panelmasterpagebuttoncontrols problem radio redirect registration relationaldatabases reportemail save schoolproject search security sessionvariables silverlight smartcard smoobjects software sql sql-server sqlserver2005 ssl suse textbox tracking treeview unauthorized validatedate validation vb.net video videos vista visualstudio vs2008 web webapplications webdevelopemnt webdevelopment webprogramming webservice xsl youareanotmemberofthedebuggerusers





