一种方法可以在你得到的DataTable里动态添加一个Column int i = 0; DataTable dt = ds.Tables["sample"]; dt.Columns.Add("Index", typeof(int)); foreach(DataRow dr in dt.Rows) { dr["Index"] = ++i; } dg.DataSource = dt.DefaultView; dg.DataBind(); 另外用能不能绑定到一个TemplateColumn或是BoundColumn,用ItemIndex属性,这样似乎 更合理些。
主要是: Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, _ ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound If e.Item.ItemIndex <> -1 Then e.Item.Cells(0).Text = e.Item.ItemIndex + 1 End If End Sub
为datagrid增加自动编号列
mycolumn.authoincresement=true
这样可以为它增加一个自增值的id
http://www.csdn.net/Develop/read_article.asp?id=20887
int i = 0;
DataTable dt = ds.Tables["sample"];
dt.Columns.Add("Index", typeof(int));
foreach(DataRow dr in dt.Rows)
{
dr["Index"] = ++i;
}
dg.DataSource = dt.DefaultView;
dg.DataBind();
另外用能不能绑定到一个TemplateColumn或是BoundColumn,用ItemIndex属性,这样似乎
更合理些。
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, _
ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
If e.Item.ItemIndex <> -1 Then
e.Item.Cells(0).Text = e.Item.ItemIndex + 1
End If
End Sub
在datagrid的itemdatabound事件中添入
下面代码
//计算序号,并在每一行的序号单元格中填入
int ItemNo = (e.Item.ItemIndex + 1) + (dgdSample.CurrentPageIndex) * (dgdSample.PageSize);
//跳过页眉和页脚
if(e.Item.ItemType.ToString() != "Header" && e.Item.ItemType.ToString() != "Footer")
{
if( e.Item.Cells[0].FindControl("btnSel") != null )
{
((Button)e.Item.Cells[0].FindControl("btnSel")).Text = ItemNo.ToString();
}
}
SqlConnection objConnection=new SqlConnection(strConnection);
SqlDataAdapter objAdapter=new SqlDataAdapter(SQL,objConnection);
DataSet objDataSet=new DataSet();
objAdapter.Fill(objDataSet,"pj_zhwwzrkbSum");
DataTable my_datatable=objDataSet.Tables["pj_zhwwzrkbSum"];
for(int i=0;i<my_datatable.Rows.Count;i++ )
{
my_datatable.Rows[i]["序号"] = i+1; // 分配序号
}
DataView my_dataview=new DataView(my_datatable);
DataGrid1.DataSource=my_dataview;
DataGrid1.DataBind();