diff --git a/Controls.LookupGrid/frmLookupGrid.vb b/Controls.LookupGrid/frmLookupGrid.vb index a25db847..a5bbf50b 100644 --- a/Controls.LookupGrid/frmLookupGrid.vb +++ b/Controls.LookupGrid/frmLookupGrid.vb @@ -1,5 +1,6 @@ Imports System.Windows.Forms Imports DevExpress.XtraGrid +Imports DevExpress.XtraGrid.Columns Imports DevExpress.XtraGrid.Views.Base Imports DevExpress.XtraGrid.Views.Grid @@ -12,6 +13,8 @@ Public Class frmLookupGrid Public Property NewValues As New HashSet(Of String) Public Const COLUMN_SELECTED = "SELECTED" + Public Const COLUMN_VALUE = "VALUE" + Public Const TABLE_TEMP = "TEMP" Private _DataColumn As Integer Private _DataSourceTemp As DataTable @@ -25,21 +28,21 @@ Public Class frmLookupGrid ' Original Datasource soll nicht verändert werden If DataSource Is Nothing Then - _DataSourceTemp = New DataTable("TEMP") - _DataSourceTemp.Columns.Add(New DataColumn("VALUE")) + _DataSourceTemp = New DataTable(TABLE_TEMP) + _DataSourceTemp.Columns.Add(New DataColumn(COLUMN_VALUE)) Else _DataSourceTemp = DataSource.Copy() End If If MultiSelect Then If Not _DataSourceTemp.Columns.Contains(COLUMN_SELECTED) Then - Dim selectedColumn = New DataColumn() With { - .ColumnName = "SELECTED", + Dim oSelectedColumn = New DataColumn() With { + .ColumnName = COLUMN_SELECTED, .DataType = GetType(Boolean), .DefaultValue = False } - _DataSourceTemp.Columns.Add(selectedColumn) - selectedColumn.SetOrdinal(0) + _DataSourceTemp.Columns.Add(oSelectedColumn) + oSelectedColumn.SetOrdinal(0) End If End If @@ -87,6 +90,10 @@ Public Class frmLookupGrid ' Spaltenbreite anpassen _View.BestFitColumns() + + ' Datenspalte zusätzlich in der Breite anpassen + Dim oDataColumn As GridColumn = _View.Columns.Item(_DataColumn) + oDataColumn.BestFit() End Sub Private Sub SaveSelectedValues() @@ -205,7 +212,7 @@ Public Class frmLookupGrid Private Sub viewLookup_ShowingEditor(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles viewLookup.ShowingEditor Dim rowHandleIsNewItemRow = (_View.FocusedRowHandle = GridControl.NewItemRowHandle) - Dim columnIsCheckboxColumn = _View.FocusedColumn.FieldName = "SELECTED" + Dim columnIsCheckboxColumn = (_View.FocusedColumn.FieldName = COLUMN_SELECTED) ' Prevent editing of Data Column/allow editing for Checkbox Column and NewValue Row If rowHandleIsNewItemRow Or columnIsCheckboxColumn Then diff --git a/GUIs.Test.TestGUI/frmLookup.vb b/GUIs.Test.TestGUI/frmLookup.vb index 7721fa3d..9614ea06 100644 --- a/GUIs.Test.TestGUI/frmLookup.vb +++ b/GUIs.Test.TestGUI/frmLookup.vb @@ -45,7 +45,8 @@ Public Class frmLookup Dim oDatatable As New DataTable Dim oColumns As New List(Of DataColumn) From { New DataColumn("Col1", GetType(String)), - New DataColumn("Col2", GetType(String)) + New DataColumn("Col2", GetType(String)), + New DataColumn("Col3", GetType(String)) } oDatatable.Columns.AddRange(oColumns.ToArray) @@ -54,6 +55,7 @@ Public Class frmLookup Dim oRow = oDatatable.NewRow() oRow.Item("Col1") = Item oRow.Item("Col2") = Item & "_" & "SomeLong Random(String) !!!111einself" + oRow.Item("Col3") = Item & "_" & "SomeLong OTHER Random(String) !!!111einself" oDatatable.Rows.Add(oRow) Next