将数据表第一行设置为网格标题

时间:2013-03-19 06:10:02

标签: c# datatable

我有一个场景,我使用以下连接字符串

从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的一个没有标题行而另一个绑定标题行?

1 个答案:

答案 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。