none
VB2008 自訂的DataTable與DataGridview元件的應用 RRS feed

  • 問題

  • 請教各位大大..小弟在程式中自訂了一個如下的一個DataTable並把他設為Datagridview的資料來源

            myDataBuffer.SHARK.Columns.Add("槽位名稱")
            myDataBuffer.SHARK.Columns.Add("ON時間")
            myDataBuffer.SHARK.Columns.Add("OFF時間")
            myDataBuffer.SHARK.Columns.Add("使用狀態")
            myDataBuffer.SHARK.Columns.Add("狀態")
            For ii As Integer = 0 To 35
                Dim myrow As DataRow = myDataBuffer.SHARK.NewRow
                myrow.Item(0) = TANK_NAME(ii)
                myDataBuffer.SHARK.Rows.Add(myrow)
            Next
            Form2.DataGridView1.DataSource = myDataBuffer.SHARK

         若我要將當中的"使用狀態"的 用DataGridViewButtonColumn 型態來製作,可以實現嗎?

    新手上路
    2010年3月9日 上午 08:42

解答

  • 不確定你想要做到的效果,我簡單用下面方式做是可以做出按鈕的樣子
    myDataBuffer.Columns.Add("a")
            myDataBuffer.Columns.Add("b")
            myDataBuffer.Columns.Add("c")
            myDataBuffer.Columns.Add("d")
            myDataBuffer.Columns.Add("e")
            For ii As Integer = 0 To 35
                Dim myrow As DataRow = myDataBuffer.NewRow
                myrow.Item(0) = "123"
                myDataBuffer.Rows.Add(myrow)
            Next
            ''設定DataGridView欄位相關
            DataGridView1.Columns.Add("d", "d")
            DataGridView1.Columns("d").DataPropertyName = "d"
            DataGridView1.Columns.Add("b", "b")
            DataGridView1.Columns("b").DataPropertyName = "b"
            DataGridView1.Columns.Add("c", "c")
            DataGridView1.Columns("c").DataPropertyName = "c"
            Dim btnCol As New DataGridViewButtonColumn
            btnCol.Name = "a"
            btnCol.DataPropertyName = "a"
            DataGridView1.Columns.Add(btnCol)
            DataGridView1.Columns.Add("e", "e")
            DataGridView1.Columns("e").DataPropertyName = "e"
            ''設定資料來源
            DataGridView1.DataSource = myDataBuffer
    

    請注意討論區相關規則,良好的討論環境需要大家共同努力、遵守
    • 已編輯 bauannModerator 2010年3月9日 下午 02:17 編輯程式碼區塊
    • 已標示為解答 eblue 2010年3月10日 上午 02:41
    2010年3月9日 下午 02:15
    版主

所有回覆

  • 不確定你想要做到的效果,我簡單用下面方式做是可以做出按鈕的樣子
    myDataBuffer.Columns.Add("a")
            myDataBuffer.Columns.Add("b")
            myDataBuffer.Columns.Add("c")
            myDataBuffer.Columns.Add("d")
            myDataBuffer.Columns.Add("e")
            For ii As Integer = 0 To 35
                Dim myrow As DataRow = myDataBuffer.NewRow
                myrow.Item(0) = "123"
                myDataBuffer.Rows.Add(myrow)
            Next
            ''設定DataGridView欄位相關
            DataGridView1.Columns.Add("d", "d")
            DataGridView1.Columns("d").DataPropertyName = "d"
            DataGridView1.Columns.Add("b", "b")
            DataGridView1.Columns("b").DataPropertyName = "b"
            DataGridView1.Columns.Add("c", "c")
            DataGridView1.Columns("c").DataPropertyName = "c"
            Dim btnCol As New DataGridViewButtonColumn
            btnCol.Name = "a"
            btnCol.DataPropertyName = "a"
            DataGridView1.Columns.Add(btnCol)
            DataGridView1.Columns.Add("e", "e")
            DataGridView1.Columns("e").DataPropertyName = "e"
            ''設定資料來源
            DataGridView1.DataSource = myDataBuffer
    

    請注意討論區相關規則,良好的討論環境需要大家共同努力、遵守
    • 已編輯 bauannModerator 2010年3月9日 下午 02:17 編輯程式碼區塊
    • 已標示為解答 eblue 2010年3月10日 上午 02:41
    2010年3月9日 下午 02:15
    版主
  • HI,

    如果您是要用程式新增Button Column的話可以參考以下的做法:
    DataGridViewButtonColumn 類別
    2010年3月10日 上午 02:32
  • 感謝大大提供的解決方案,小弟試了結果的確可以在"a"欄位 產生button元件了!


    新手上路
    2010年3月10日 上午 02:41