没有,设的就是PagerStyle-Position="Bottom",我是在 Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound Dim dgi As DataGridItem Dim dgi1 As DataGridItem Dim tb As New Table() Dim tc As New TableCell() Select Case e.Item.ItemType Case ListItemType.Header 隐藏原来的表头,自己手动加入自定多行表头的.我现在怀疑自定义表头被当成另一个datagrid,顶上的页面导航其实是这个datagrid的底部页面导航 请思归再看一下.我搞了半天,检查了很多状态都发现不出问题,这两个导航页要不是同时出现,要不一起隐藏,无法单独控制,从这一点上看又象是一个datagrid的
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
Dim dgi As DataGridItem
Dim dgi1 As DataGridItem
Dim tb As New Table()
Dim tc As New TableCell()
Select Case e.Item.ItemType
Case ListItemType.Header
隐藏原来的表头,自己手动加入自定多行表头的.我现在怀疑自定义表头被当成另一个datagrid,顶上的页面导航其实是这个datagrid的底部页面导航
请思归再看一下.我搞了半天,检查了很多状态都发现不出问题,这两个导航页要不是同时出现,要不一起隐藏,无法单独控制,从这一点上看又象是一个datagrid的
tb.Rows.AddAt(1, dgi1)
为datagrid的header加入两行,后面就是加入单元格了
<%@ Page Language="C#" %>
<%@ import Namespace="System.Data" %>
<script runat="server"> ICollection CreateDataSource() {
DataTable dt = new DataTable();
DataRow dr; dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("DateTimeValue", typeof(string)));
dt.Columns.Add(new DataColumn("BoolValue", typeof(bool))); for (int i = 0; i < 200; i++) {
dr = dt.NewRow(); dr[0] = i;
dr[1] = "Item " + i.ToString();
dr[2] = DateTime.Now.ToShortDateString();
dr[3] = (i % 2 != 0) ? true : false; dt.Rows.Add(dr);
} DataView dv = new DataView(dt);
return dv;
} void Page_Load(Object sender, EventArgs e) { if (!IsPostBack)
BindGrid();
} void MyDataGrid_Page(Object sender, DataGridPageChangedEventArgs e) {
MyDataGrid.CurrentPageIndex = e.NewPageIndex; BindGrid();
} void BindGrid() {
MyDataGrid.DataSource = CreateDataSource();
MyDataGrid.DataBind();
} void MyDataGrid_ItemCreated(Object sender , DataGridItemEventArgs e)
{ if (e.Item.ItemType == ListItemType.Header)
{
e.Item.Visible = false; Table t = (Table)MyDataGrid.Controls[0];
DataGridItem dgi = new DataGridItem(0, -1, ListItemType.Header);
DataGridItem dgi1 = new DataGridItem(0, -1, ListItemType.Header);
for (int i =0 ; i < e.Item.Cells.Count; i++)
{
TableCell tc = new TableCell();
tc.Text = i.ToString();
dgi.Cells.Add(tc);
t.Rows.Add(dgi);
TableCell tc1 = new TableCell();
tc1.Text = i.ToString();
dgi1.Cells.Add(tc1);
t.Rows.Add(dgi1);
} }
}</script>
<html>
<head>
</head>
<body>
<h3><font face="Verdana">Basic Paging with DataGrid</font>
</h3>
<form runat="server">
<ASP:DataGrid id="MyDataGrid" runat="server" ShowHeader="true"
AllowPaging="True" PageSize="10" PagerStyle-Mode="NumericPages"
PagerStyle-HorizontalAlign="Right" PagerStyle-NextPageText="Next"
PagerStyle-PrevPageText="Prev" OnPageIndexChanged="MyDataGrid_Page"
BorderColor="black" BorderWidth="1" GridLines="Both" CellPadding="3"
CellSpacing="0" Font-Name="Verdana" Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd" AlternatingItemStyle-BackColor="#eeeeee"
PagerStyle-Position="Bottom"
OnItemCreated="MyDataGrid_ItemCreated"
></ASP:DataGrid>
<p>
<asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
</p>
</form>
</body>
</html>