我有一个场景,我使用以下连接字符串
从xls文件中获取数据mCon.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;data source=" + mstrFilePath + ";Extended Properties=\"Excel 12.0;HDR=NO\";");
以及以下代码
string strSelectQuery = "Select * from [sheet1$]";
System.Data.OleDb.OleDbCommand= new System.Data.OleDb.OleDbCommand(strSelectQuery, mCon);
DataAdapter = new System.Data.OleDb.OleDbDataAdapter(strSelectQuery, mCon);
DataAdapter.Fill(mDTable);
现在,当我将此数据表mDtable绑定到gridview时,它不会导致网格的标题行。
但是我有另一个gridview需要将标题列作为数据表mDTable中的第一行。
我如何使用相同的数据表绑定gridview的一个没有标题行而另一个绑定标题行?
答案 0 :(得分:1)
严酷的解决方案:
您可以使用DataTable.Columns [n] .ColumnName对列标题进行签名。
示例(未经测试,谨防代码错误):
int index = 0;
foreach(DataTableColumn col in DataTable.Columns)
{
col.ColumnName = DataTable.Rows[0][index].ToString();
index++;
}
然后,您可以将DataTable绑定到gridview,并将AutoGenerateColumn设置为true。