方法一
后台加入
int count
public int GetCount()
{
return ++count ;
}
前台加入
<asp:TemplateColumn HeaderText="序号">
<ItemTemplate>
<asp:label id="lable1" runat=server><%#GetCount()%></asp:label>
</ItemTemplate>
</asp:TemplateColumn>
方法二:
datagrid的ItemDataBound事件
private void dgdRank_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.FindControl("strID") != null)
{
((Label)(e.Item.FindControl("strID"))).Text = Convert.ToString(e.Item.ItemIndex+1);
}
}
方法三:
改用datatable控件
如果是产生序号列,则用如下函数,然后DATAGRID绑定到这个产生了序号列的
DATATABLE
private DataTable GenerateDataTable(DataTable dt) //产生序号列
{
DataTable vTable = new DataTable();
DataRow vRow;
vTable.Columns.Add("序号 ",typeof(int));
for (int i = 0;i < dt.Columns.Count;i++)
vTable.Columns.Add(dt.Columns[i].ColumnName,typeof(String));
for (int i = 0 ; i < dt.Rows.Count ; i ++)
{
vRow = vTable.NewRow();
vRow[0] = i + 1;
for (int j = 0 ; j < dt.Columns.Count ;j++)
vRow[j+1] = dt.Rows[i][j];
vTable.Rows.Add(vRow);
}
return vTable;
}
private DataTable GenerateDataTable(DataTable dt) //产生序号列
{
DataTable vTable = new DataTable();
DataRow vRow;
vTable.Columns.Add("序号 ",typeof(int));
for (int i = 0;i < dt.Columns.Count;i++)
vTable.Columns.Add(dt.Columns[i].ColumnName,typeof(String));
for (int i = 0 ; i < dt.Rows.Count ; i ++)
{
vRow = vTable.NewRow();
vRow[0] = i + 1;
for (int j = 0 ; j < dt.Columns.Count ;j++)
vRow[j+1] = dt.Rows[i][j];
vTable.Rows.Add(vRow);
}
return vTable;
}