public static DataTable GetPagedTable(DataTable dt, int PageIndex, int PageSize)
        {
             
            
if (PageIndex == 0)
                
return dt;
            DataTable newdt 
= dt.Clone();
            
//newdt.Clear();
            int rowbegin = (PageIndex - 1* PageSize;
            
int rowend = PageIndex * PageSize;

            
if (rowbegin >= dt.Rows.Count)
                
return newdt;

            
if (rowend > dt.Rows.Count)
                rowend 
= dt.Rows.Count;
            
for (int i = rowbegin; i <= rowend - 1; i++)
            {
                DataRow newdr 
= newdt.NewRow();
                DataRow dr 
= dt.Rows[i];
                
foreach (DataColumn column in dt.Columns)
                {
                    newdr[column.ColumnName] 
= dr[column.ColumnName];
                }
                newdt.Rows.Add(newdr);
            }

            
return newdt;
        }