none
DataGridView 欄位順序排列 RRS feed

  • 問題

  • 我使用LINQ技術查詢我建立好的SQL資料庫,資料查詢完後欄位的順序排列不是我想要的,如果我想要依自己的意思排列欄位應該如何處理。



    查詢程式碼如下:
    If ComboBox2.Text = "全部" Then
                Dim dc As New bridgedateDataContext
                If ComboBox1.Text = "橋梁基本資料" Then
                    Dim result = From p In dc.橋梁基本資料 Select p.代號, p.跨河橋, p.使用狀態, p.橋梁名稱
                    DataGridView1.DataSource = result

    DataGridView1顯示出來的欄位順序不是我想要的排序
    2009年12月11日 上午 06:55

解答

  •             Dim dc As New bridgedateDataContext
                If ComboBox1.Text = "橋梁基本資料" Then
                    Dim result = From p In dc.橋梁基本資料 Select p.代號, p.跨河橋, p.使用狀態, p.橋梁名稱
                    DataGridView1.DataSource = result


    這樣寫會有資料出來?


    '更換這一句的 select 順序試試看
    Dim result = From p In dc.橋梁基本資料 Select p.代號, p.跨河橋, p.使用狀態, p.橋梁名稱
    DataGridView1.DataSource = result.ToList
    • 已編輯 阿尼 2009年12月11日 上午 09:59 排版
    • 已標示為解答 Lolota Lee 2009年12月18日 上午 05:57
    2009年12月11日 上午 09:59
  • 不然就手動把DataGridView的Column設成固定的. 並且將AutoGenerateColumns屬性設為false


    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    • 已標示為解答 Lolota Lee 2009年12月18日 上午 05:57
    2009年12月14日 上午 08:47
    版主

所有回覆

  • DataGridViewColumn.DisplayIndex 屬性


    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    2009年12月11日 上午 09:18
    版主
  •             Dim dc As New bridgedateDataContext
                If ComboBox1.Text = "橋梁基本資料" Then
                    Dim result = From p In dc.橋梁基本資料 Select p.代號, p.跨河橋, p.使用狀態, p.橋梁名稱
                    DataGridView1.DataSource = result


    這樣寫會有資料出來?


    '更換這一句的 select 順序試試看
    Dim result = From p In dc.橋梁基本資料 Select p.代號, p.跨河橋, p.使用狀態, p.橋梁名稱
    DataGridView1.DataSource = result.ToList
    • 已編輯 阿尼 2009年12月11日 上午 09:59 排版
    • 已標示為解答 Lolota Lee 2009年12月18日 上午 05:57
    2009年12月11日 上午 09:59
  • Hi,

    我試了一下~你的寫法應如阿尼所述
    資料應該不會出來
    而要改變順序
    應該只要變更Linq select後的順序即可

    Dim result = From p In dc.橋梁基本資料 Select p.代號, p.跨河橋, p.使用狀態, p.橋梁名稱
     

    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    2009年12月11日 上午 10:28

  • Dear 阿尼

    我有建立一個SQL資料庫,所以他會去查詢裡面的資料,會有資料出來放入result。

    我有嘗試妳寫的再result 後面加ToList 但是順序還是不會像 Select p.代號, p.跨河橋, p.使用狀態, p.橋樑名稱 一樣
    2009年12月12日 上午 03:37
  • 而要改變順序
    應該只要變更Linq select後的順序即可

    Dim result = From p In dc.橋梁基本資料 Select p.代號, p.跨河橋, p.使用狀態, p.橋梁名稱

    你誤會了~~我的意思不是加上ToList
    你先試試看蹂躪大講的,直接變更select的順序
    2009年12月12日 下午 02:17
  • Dear 阿尼
    您的意思是將 Dim result = From p In dc.橋樑基本資料 Select p.代號, p.跨河橋, p.使用狀態, p.橋樑名稱
    把Select 後面的順序改變例如
    p.橋樑名稱, p.使用狀態, p.跨河橋 ,p.代號 嗎?
    如果是這樣的話,我原本的排列就是我想要的順序,但是顯示於
    DataGridView後順序就亂掉了
    2009年12月14日 上午 07:49
  • 不然就手動把DataGridView的Column設成固定的. 並且將AutoGenerateColumns屬性設為false


    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    • 已標示為解答 Lolota Lee 2009年12月18日 上午 05:57
    2009年12月14日 上午 08:47
    版主