--得到表名 select * from sysobjects where xtype='U' --得到列名 select 列名=name from syscolumns where id=object_id(N'表名') GridView取得主键: GridView1.DataKeyNames = new string[] { "xxx" };//设置主键 //取得主键 GridView1.DataKeys[e.RowIndex]["xxx"].ToString()
to zengfanxing 我就是这样写的呀 for (int i = 1; i <=GridView1.HeaderRow.Cells.Count; i++) { Label1.Text = Label1.Text + GridView1.Columns[i].HeaderText+", "; }因为我是动态生成的而不是绑定的,所以他说超出了索引范围!那能不能从DataSet提所有取字段名呢?该如何提取,请告知谢谢!
这种需求应该在数据源上解决,而不是生成的table上面.
不能从DataSet提所有取字段名吗?
DataTaable dt=new DataTable(); DataColumn[] columns; columns = dt.PrimaryKey; for(int i = 0; i < dt.Columns.Count; i++) { Console.WriteLine(dt.Columns[i].ColumnName + dt.Columns[i].DataType); } string Name = GridView1.HeaderRow.Cells[1].Text; //1为第1列名字 Response.Write(Name);
--得到表名
select * from sysobjects where xtype='U' --得到列名
select 列名=name from syscolumns where id=object_id(N'表名')
GridView取得主键:
GridView1.DataKeyNames = new string[] { "xxx" };//设置主键
//取得主键
GridView1.DataKeys[e.RowIndex]["xxx"].ToString()
GridView1.Columns[0].HeaderText //你的第一列的头标题
GridView1.Columns[1].HeaderText//你的第二列的头标题
GridView1.Columns[2].HeaderText//....
GridView1.Columns[3].HeaderText//....
.....
只是gridview1上的列头吧,可以跟字段名不一样?
再去HeaderText
我就是这样写的呀
for (int i = 1; i <=GridView1.HeaderRow.Cells.Count; i++)
{
Label1.Text = Label1.Text + GridView1.Columns[i].HeaderText+", ";
}因为我是动态生成的而不是绑定的,所以他说超出了索引范围!那能不能从DataSet提所有取字段名呢?该如何提取,请告知谢谢!
DataColumn[] columns;
columns = dt.PrimaryKey;
for(int i = 0; i < dt.Columns.Count; i++)
{
Console.WriteLine(dt.Columns[i].ColumnName + dt.Columns[i].DataType);
}
string Name = GridView1.HeaderRow.Cells[1].Text; //1为第1列名字
Response.Write(Name);