none
請教OdbcDataAdapter.Fill 與 DataSource 後Datagridview 的Rows(i).DefaultCellStyle.BackColor顏色無法顯示 RRS feed

  • 問題

  •  

    你好:

    關於DataGridview元件,被OdbcDataAdapter.Fill 或者是DataSource 資料繫結後,使用Rows(i).DefaultCellStyle.BackColor方法的顏色無法顯示。

    但是Columns(1).DefaultCellStyle.BackColor或者RowsDefaultCellStyle.BackColor的方式就可以顯示,若

    我需要row的一列顯示顏色,需要如何做?

    2007年9月5日 上午 07:10

解答

  • 處理 CellFormating 事件,針對你想要的 Row 變色即可

     

    ex.

    if (e.RowIndex >= 0)
    {
        dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Blue;
    }

     

    --

    Orz 我只會 C#

     

    2007年9月6日 上午 06:44

所有回覆

  • hi 你寫的好像沒有錯耶  我剛剛測試了

        Me.DataGridView1.Rows(2).DefaultCellStyle.BackColor = Color.AliceBlue

    這樣是可以顯示一列的顏色

                                                                                                             馬小玲  http://blog.blueshop.com.tw/swtnwr/

    2007年9月5日 上午 07:52
  •  

    若是使用回圈一個個填入Datagridview,再使用DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.AliceBlue

    則可以顯示,但是我是用Dataadapter.fill與datasource去資料繫結後,使用DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.AliceBlue反而無法顯示,但是使用debug去查Rows(i).DefaultCellStyle.BackColor 的屬性,卻是有改變我所需的顏色,就是偏偏畫面上無法顯示,問題就是這樣,還是Datagridview是需要什麼樣的設定(注:Columns(1).DefaultCellStyle.BackColor或者RowsDefaultCellStyle.BackColor是可以顯示),當然最後我是可以用回圈一個個填入,這樣也是可以解決只是比較麻煩。

    還是有什麼設定需要注意的?

    感謝妳提供答案

    謝謝

     

    2007年9月6日 上午 06:12
  • 處理 CellFormating 事件,針對你想要的 Row 變色即可

     

    ex.

    if (e.RowIndex >= 0)
    {
        dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Blue;
    }

     

    --

    Orz 我只會 C#

     

    2007年9月6日 上午 06:44
  • 好神奇喔!

    這樣就可以,感謝

    這樣是可以解決,只是有問題是為什麼其他方式都不行只能需要在CellFormating 事件中進行?

    且其他的如Columns(1).DefaultCellStyle.BackColor就可以,偏偏唯獨

    dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Blue就不行

    真的好奇怪

    感謝

    C#我也會看得懂,謝謝

     

    2007年9月6日 上午 06:54
  •  

    大家好,

    我也遇到一樣問題, 有兩件事想請教,

    1. 為什麼會有這個問題, 動態DataGridView 去加載一個DataVable 就不能控制單列顏色?

    2. 如果是動態加入DataGridView, 而且是陣列, 那不能宣告為WithEvent 就不能用 "處理 CellFormating 事件" 這招?

     

     

    2011年9月6日 上午 08:51
  • 大家好,

    我也遇到一樣問題, 有兩件事想請教,

    1. 為什麼會有這個問題, 動態DataGridView 去加載一個DataVable 就不能控制單列顏色?

    2. 如果是動態加入DataGridView, 而且是陣列, 那不能宣告為WithEvent 就不能用 "處理 CellFormating 事件" 這招?

     

     

    (1) 用 AddHandler, 加入事件委派函式
    (2) 若要使用WithEvents , 請在類別全域中加入宣告
    如:
    Dim WithEvents dataGridView2 As System.Windows.Forms.DataGridView
        Private Sub TTT()
               
            dataGridView2 = New System.Windows.Forms.DataGridView
            Me.Controls.Add(dataGridView2)
           
        End Sub

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2011年9月6日 下午 08:14
    版主