以下是C#代码:

```csharp

///

/// 对DataTable进行分页,起始页为1

///

/// 要分页的DataTable

/// 当前页数

/// 每页显示的行数

/// 分页后的DataTable

public static DataTable GetPagedTable(DataTable dt, int PageIndex, int PageSize)

{

if (PageIndex == 0)

return dt;

DataTable newdt = dt.Copy();

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;

}

```

```vb

Public Function GetPagedData(dt As DataTable, PageIndex As Integer, PageSize As Integer) As DataTable

If PageIndex = 0 Then

Return dt

End If

Dim newdt As New DataTable(dt.TableName)

newdt.Columns.Clear()

For Each column As DataColumn In dt.Columns

newdt.Columns.Add(column.ColumnName)

Next

newdt.Clear()

Dim rowbegin As Integer = (PageIndex - 1) * PageSize

Dim rowend As Integer = PageIndex * PageSize

If rowbegin >= dt.Rows.Count Then

Return newdt

End If

If rowend > dt.Rows.Count Then

rowend = dt.Rows.Count

End If

For i As Integer = rowbegin To rowend - 1

Dim newdr As New DataRow()

Dim dr As DataRow = dt.Rows(i)

For Each column As DataColumn In dt.Columns

newdr(column.ColumnName) = dr(column.ColumnName)

Next

newdt.Rows.Add(newdr)

Next

Return newdt

End Function

```