none
[VB2008] DataGridView欄位資料調整 RRS feed

  • 問題

  • 想請問一個關於DataGridView欄位資料調整的問題

    當程式從Excel讀入資料顯示於DataGridView後

    顯示如下圖:

    但是想要調整成下圖正確的顯示:

    在不變動Excel檔案的情況下

    該如何移動整個欄位呢?

     

    環境:Wiun XP+VB 2008+Excel 2003 & 2007

     

    2009年1月2日 上午 01:28

解答

  • 調整你的資料庫查詢語法即可。

     

    不要用 SELECT * FROM ...

    改用 SELECT [編號], [名稱], [內容] FROM ....

    2009年1月2日 上午 03:34

所有回覆

  • 調整你的資料庫查詢語法即可。

     

    不要用 SELECT * FROM ...

    改用 SELECT [編號], [名稱], [內容] FROM ....

    2009年1月2日 上午 03:34
  • 不是很懂

    我是直接讀取Excel的內容後

    Show在DataGridView中的

    程式如下:

            Dim ingen = "Provider=microsoft.ace.oledb.12.0;"
            Dim myoledbcn As New OleDb.OleDbConnection(ingen & "data source=" & OpenFileInfo.Text & ";" & "extended properties=excel 12.0;")
            Dim myolecmd As OleDb.OleDbCommand = New OleDb.OleDbCommand("select*from [sheet1$]", myoledbcn)
            Dim mydata As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(myolecmd)
            Dim mydataset As New DataSet

            Sub_Form = New Sub_Form

            mydata.Fill(mydataset)
            Sub_Form.DataShow.DataSource = mydataset.Tables(0).DefaultView
            Select Case from

            End Select
            myoledbcn.Close()
            Sub_Form.Show()

     

    現在讀取進來後

    想要排列欄位

    不清楚大大您說的該怎麼添加...

    麻煩指導一下

    謝謝!!

    2009年1月2日 上午 11:42
  • HI,

     

    如果您是要允許使用者調動欄位的順序, 可以將DataGridView的AllowUserToOrderColumns屬性設定為True

     

    tihs

    2009年1月2日 下午 02:12
  •  

    基本上是不允許使用者去調整欄位的

    但是在讀入Excel檔案後

    要去針對欄位調整順序

    使得在DataGridView中顯示為正確的格式

    小弟我目前把資料讀進來了

    但卻不是很清楚該怎麼去調整欄位順序

    請大大指導一下嚕...

    謝謝!!

    2009年1月2日 下午 02:17
  •  風箏惡魔 寫信:

     

    基本上是不允許使用者去調整欄位的

    但是在讀入Excel檔案後

    要去針對欄位調整順序

    使得在DataGridView中顯示為正確的格式

    小弟我目前把資料讀進來了

    但卻不是很清楚該怎麼去調整欄位順序

    請大大指導一下嚕...

    謝謝!!

     

    我終於看懂怎麼寫了...

    應該寫成這樣:

    Dim ingen = "Provider=microsoft.ace.oledb.12.0;"
            Dim myoledbcn As New OleDb.OleDbConnection(ingen & "data source=" & OpenFileInfo.Text & ";" & "extended properties=excel 12.0;")
            Dim myolecmd As OleDb.OleDbCommand = New OleDb.OleDbCommand("select 內容,編號,名稱 from [sheet1$]", myoledbcn)

            Dim mydata As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(myolecmd)
            Dim mydataset As New DataSet

            Sub_Form = New Sub_Form

            mydata.Fill(mydataset)
            Sub_Form.DataShow.DataSource = mydataset.Tables(0).DefaultView

            myoledbcn.Close()
            Sub_Form.Show()

     

    在紅色字的地方填入想要的順序即可

    2009年1月2日 下午 02:27