建立一个模板列放在最左边index=0的位置,然后写如下代码(vb.net)Private Sub dg_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dg.ItemDataBound If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then e.Item.Cells(0).Text = e.Item.ItemIndex End If End Sub
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
e.Item.Cells(0).Text = e.Item.ItemIndex
End If
End Sub
CellPadding = "2"
EditItemStyle-BackColor="yellow"
AutoGenerateColumns="False"> <Columns>
<ASP:TemplateColumn HeaderText="行">
<ItemTemplate>
<ASP:Label Text='<%# DataBinder.Eval(Container.DataItem, "行数") %>' runat="server" />
</ItemTemplate>
</ASP:TemplateColumn><ASP:TemplateColumn HeaderText="statview">
<ItemTemplate>
<ASP:Label Text='<%# DataBinder.Eval(Container.DataItem, "statview") %>' runat="server" />
</ItemTemplate>
</ASP:TemplateColumn>
</Columns> </ASP:DataGrid>
大侠们,我讲祥细一点,我的问题是:
我在后台文件中从数据库中选择出满足条件记录绑定到DataGrid,并分页,每页20条记录。使用如下语句绑定:
myDataGrid.DataSource = myDataSet
myDataGrid.DataBind()(1)我想在第一列显示行数,第一页行数:1-20,第二页:21-40,如此类推。
(2)另外在 DataGrid 加一列,显示后台程序中的一个变量,或如ViewState( "MyNumber") 应如何,请讲祥细一些,好吗?谢谢!!
*************************
MSDN WebCast 讲座下载(Datagrid高级使用技巧)
<script language="C#">
public int rows = (datagrid1.Page-1)*20 +1; //初始值。
</script><ASP:TemplateColumn HeaderText="行">
<ItemTemplate>
<%=rows++%>
</ItemTemplate>
</ASP:TemplateColumn>
我采用 Azmore(漂流) 在C#下可行,但我用的是vb,<%=rows++%>语句错误:Expression expected.怎么回事?