从CSV文件直接读取并生成DATASET,然后显示在前台的DataGrid中,但是发现DataGrid的列标题被第一行内容复盖掉了。正常情况下如果一个DataSet没有列标题的话,会自动赋上列标题column1,comlumn2,......如何把列标题自动赋上呢。我的目的是要自动的列标题。
这是所用的读CSV文件的方法:
Dim strConn As String
strConn = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq="
strConn = strConn & strFilePath
strConn = strConn & ";Extensions=asc,csv,tab,txt;"
Dim objConn As Odbc.OdbcConnection
objConn = New Odbc.OdbcConnection(strConn) Dim CSVDataSet = New DataSet
Try
Dim strSql As String
strSql = "select * from " & strFileName
Dim ODBCCSVDataAdapter As Odbc.OdbcDataAdapter
ODBCCSVDataAdapter = New Odbc.OdbcDataAdapter(strSql, objConn)
ODBCCSVDataAdapter.Fill(CSVDataSet)
Return CSVDataSet
Catch ex As Exception
MessageBox.Show(ex.Message)
Exit Function
End Try
已经开了一个贴子了,没人理,郁闷啊。一百分寻思路
这是所用的读CSV文件的方法:
Dim strConn As String
strConn = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq="
strConn = strConn & strFilePath
strConn = strConn & ";Extensions=asc,csv,tab,txt;"
Dim objConn As Odbc.OdbcConnection
objConn = New Odbc.OdbcConnection(strConn) Dim CSVDataSet = New DataSet
Try
Dim strSql As String
strSql = "select * from " & strFileName
Dim ODBCCSVDataAdapter As Odbc.OdbcDataAdapter
ODBCCSVDataAdapter = New Odbc.OdbcDataAdapter(strSql, objConn)
ODBCCSVDataAdapter.Fill(CSVDataSet)
Return CSVDataSet
Catch ex As Exception
MessageBox.Show(ex.Message)
Exit Function
End Try
已经开了一个贴子了,没人理,郁闷啊。一百分寻思路
解决方案 »
- 如何实现多位随机码生成器
- treeview节点移动问题
- WinForm中DataGridView中动态添加行和列
- C#中引入了命名空间,可是其中的关键字点不出来
- 关于webBrowser控件弹出新窗口的
- 问一个低级问题!!!
- 有没有什么便利的方法在程序运行中根据新设定的背景图片自动改变panel或窗体的大小?
- C#中怎么连接有密码的ACCESS数据库
- 使用XmlDocument怎样注释掉一个节点
- dataGridView1.RowTemplate.Height ,当下无效?(winform)
- 如下的c++代码在c#中如何声明和传递?
- 在.NET2005中怎么实现调试.NET程序时查看对象属性时的效果???
那你可以在生成CSV文件的时候就生成列名
或者中间转换一下,读成XML然后再生成数据源
再则你可以在ItemDataBount事件里用
dg.Column[i].HeaderText处理一下标头
Dim strConn As String
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
strConn = strConn & strFilePath
strConn = strConn & ";Extended Properties=""text;HDR=Yes;FMT=Delimited""" Dim objConn As OleDb.OleDbConnection
objConn = New OleDb.OleDbConnection(strConn) Dim CSVDataSet As DataSet
CSVDataSet = New DataSet Try
Dim strSql As String
strSql = "select * from " & strFileName
Dim ODBCCSVDataAdapter As OleDb.OleDbDataAdapter
ODBCCSVDataAdapter = New OleDb.OleDbDataAdapter(strSql, objConn)
ODBCCSVDataAdapter.Fill(CSVDataSet) Return CSVDataSet
Catch ex As Exception
MessageBox.Show(ex.Message)
Exit Function
End Try
“HDR=Yes;"indicates that the first row contains columnnames, not data
HDR=YES,表示第一行包含列名,没有数据。
我理解的就是,如果HDR=YES,有列标题,否则没有。是不是这样呢。如果是,现在怎么反了啊。
如果HDR=Yes 系统会把文件的第一行当做标题加到列中,数据从第二行开始
HDR=No 第一行开始加载,列名自动分配