直接在DataGrid显示吧,用不到在DataTable中构造
private void DataGrid_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
ListItemType elemType = e.Item.ItemType; if(elemType!= ListItemType.Header && elemType != ListItemType.Footer && elemType != ListItemType.Pager)
{
e.Item.Cells[0].Text = Convert.ToString(DataGrid.CurrentPageIndex*5+e.Item.ItemIndex + 1);
}其实也就是判断类型,直接写CELL的内容,分页时要*每页记录数这样就可以添加流水号了(分页情况下),没问题的
private void DataGrid_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
ListItemType elemType = e.Item.ItemType; if(elemType!= ListItemType.Header && elemType != ListItemType.Footer && elemType != ListItemType.Pager)
{
e.Item.Cells[0].Text = Convert.ToString(DataGrid.CurrentPageIndex*5+e.Item.ItemIndex + 1);
}其实也就是判断类型,直接写CELL的内容,分页时要*每页记录数这样就可以添加流水号了(分页情况下),没问题的
<asp:TemplateColumn>
<HeaderTemplate>
序号
</HeaderTemplate>
<ItemTemplate>
<%# Container.DataSetIndex + 1 %>
</ItemTemplate>
<ItemStyle Wrap="False" Width="3%"></ItemStyle>
</asp:TemplateColumn>
直接在datagrid的ItemDataBound事件中来编号可以做到(e.Item.ItemIndex就是行号)
如果实在要在Datatable中加,那就加一列,然后循环给其付值。
另外可以看看
http://dotnet.aspx.cc/ShowDetail.aspx?id=C0B53A2D-EF45-4E07-9C95-2849700F32A8
if (!IsPostBack)
{
string connString =ConfigurationSettings.AppSettings["ConnectionString"];
SqlConnection myConn = new SqlConnection(connString);
SqlDataAdapter myAdp = new SqlDataAdapter("select * from Customers",myConn);
DataSet ds = new DataSet();
//****方法一*****
DataTable myTable = ds.Tables.Add("Customers");
DataColumn myCol = myTable.Columns.Add("RowsID",typeof(Int32));
myCol.AutoIncrement = true;
myCol.AutoIncrementSeed = 1;
myCol.AutoIncrementStep = 1;
//myCol.AutoIncrementSeed = -1;
//myCol.AutoIncrementStep = -1;
myCol.ReadOnly = true;
//****************
myAdp.Fill(ds,"Customers");
myDataGrid.DataSource = ds;
myDataGrid.DataBind(); }
dtNew.Columns.Add("ItemNo");//序列号列
dtNew.Columns.Add("OID");
dtNew.Columns.Add("Code");
int p=0;
for(int i=0;i<dtOld.Rows.Count;i++)
{
DataRow dr=dtNew.NewRow();
dr["ItemNo"]=(p++).ToString();
dr["OID"]=dtOld.Rows[i]["OID"].ToString();
dr["Code"]=dtOld.Rows[i]["Code"].ToString();
dtNew.Rows.Add(dr);
}之后绑定数据就用this.DataGrid1.DataSource=dtNew;
DataColumn dcid=m_dsTotal.Tables["v_ProductionQuery1"].Columns.Add("TotalID",typeof(Int32));
for(int i=0;i<m_dsTotal.Tables["v_ProductionQuery1"].Rows.Count;i++)
{
m_dsTotal.Tables["v_ProductionQuery1"].Rows[i]["TotalID"]=i+1;
}
http://www.syncfusion.com/FAQ/WinForms/FAQ_c44c.asp