0

私はInfragistics UltraGrid通常のように動作するものを使用していdatagridます。

私のグリッドは次のようになります。

-------------------------
|  Red  |  Blue | Green |
-------------------------
| null  |  null |  null |
-------------------------

グリッドDataTableの として割り当てるために を構築しています。DataSource私のDataTable持っている

  • 5 赤のアイテム
  • ブルー 2点

このようにデータソースを割り当てると:
myGrid.DataSource = myDataTable またはこのように
myGrid.SetDataBinding(myTable, Nothing, True)

私はこのグリッドを取得します:

------------------
| Red  |   Blue  |
------------------
|   5  |    2    |
------------------

私がこれを持っているべきとき:

---------------------------
| Red  |   Blue  |  Green  |
---------------------------
|   5  |    2    |   null  |
----------------------------

テーブルのサイズをnull以外の列に変更できるようにする、欠けているプロパティはありますか?

4

1 に答える 1

2

DataSource プロパティを DataTable に設定すると、Designer を介して設定されたスキーマ情報が、割り当てられたテーブルのスキーマ情報に置き換えられます。
私の知る限り、欠落している列を保持する方法はありません。

ただし、InitializeLayout イベントを使用して、不足している列をグリッドに再度追加することができます

Private Sub myGrid_InitializeLayout(sender As object, _
            e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs)
    Dim b As UltraGridBand = e.Layout.Bands[0];
    if Not b.Columns.Exists("RED") Then
        Dim colRed As UltraGridColumn = b.Columns.Add("RED", "RED");
        colRed.NullText = "Null"
        colRed.Header.VisiblePosition = 0
    End if
    if Not b.Columns.Exists("BLU") Then
        Dim colBlu As UltraGridColumn = b.Columns.Add("BLU", "BLU");
        colBlu.NullText = "Null"
        colBlu.Header.VisiblePosition = 1
    End if
    if Not b.Columns.Exists("GREEN") Then
        Dim colGreen As UltraGridColumn = b.Columns.Add("GREEN", "GREEN");
        colGreen.NullText = "Null"
        colGreen.Header.VisiblePosition = 2
    End if
End Sub
于 2013-03-28T20:52:51.317 に答える