1

我有一个场景,我使用以下连接字符串从 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的一个没有标题行和另一个有标题行?

4

1 回答 1

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。

于 2013-03-19T06:16:02.513 回答