jj 25.05.16
This commit is contained in:
parent
26bf6ea6aa
commit
48a12ca8c2
@ -1660,6 +1660,60 @@ Public Class ClassControlBuilder
|
|||||||
control.MainView = gridview
|
control.MainView = gridview
|
||||||
Dim defaultSize = New Size(200, 150)
|
Dim defaultSize = New Size(200, 150)
|
||||||
|
|
||||||
|
gridview.OptionsView.ShowGroupPanel = False
|
||||||
|
gridview.OptionsView.EnableAppearanceEvenRow = True
|
||||||
|
gridview.Appearance.EvenRow.BackColor = Color.Aqua
|
||||||
|
|
||||||
|
|
||||||
|
If _designMode Then
|
||||||
|
Dim CheckEdit As New DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit()
|
||||||
|
CheckEdit.ValueChecked = True
|
||||||
|
CheckEdit.ValueUnchecked = False
|
||||||
|
|
||||||
|
Dim CheckColumn = gridview.Columns.Add()
|
||||||
|
CheckColumn.Caption = " "
|
||||||
|
CheckColumn.FieldName = "CHECKED"
|
||||||
|
'CheckColumn.UnboundType = DevExpress.Data.UnboundColumnType.Boolean
|
||||||
|
CheckColumn.ColumnEdit = CheckEdit
|
||||||
|
CheckColumn.Visible = True
|
||||||
|
CheckColumn.Width = 30
|
||||||
|
|
||||||
|
Dim DataColumn = gridview.Columns.Add()
|
||||||
|
DataColumn.Caption = "Data"
|
||||||
|
DataColumn.FieldName = "DATA"
|
||||||
|
'DataColumn.UnboundType = DevExpress.Data.UnboundColumnType.Object
|
||||||
|
DataColumn.Visible = True
|
||||||
|
|
||||||
|
gridview.OptionsBehavior.ReadOnly = True
|
||||||
|
gridview.OptionsBehavior.Editable = False
|
||||||
|
|
||||||
|
' Beispieldaten hinzufügen
|
||||||
|
Dim dt As New DataTable
|
||||||
|
dt.Columns.Add(CheckColumn.FieldName)
|
||||||
|
dt.Columns.Add(DataColumn.FieldName)
|
||||||
|
|
||||||
|
' Diese Zeile sorgt dafür, dass die checkboxen richtig angezeigt werden.
|
||||||
|
' Wenn eine Datenquelle an das Control gebunden wird, muss diese in der Ersten
|
||||||
|
' Spalte den Typ Boolean haben bzw. das Ergebnis muss ein Boolean sein
|
||||||
|
dt.Columns(CheckColumn.FieldName).DataType = GetType(Boolean)
|
||||||
|
|
||||||
|
Dim row1 As DataRow = dt.NewRow()
|
||||||
|
row1.Item(CheckColumn.FieldName) = True
|
||||||
|
row1.Item(DataColumn.FieldName) = "Datensatz 1"
|
||||||
|
dt.Rows.Add(row1)
|
||||||
|
|
||||||
|
Dim row2 As DataRow = dt.NewRow()
|
||||||
|
row2.Item(CheckColumn.FieldName) = False
|
||||||
|
row2.Item(DataColumn.FieldName) = "Datensatz 2"
|
||||||
|
dt.Rows.Add(row2)
|
||||||
|
|
||||||
|
control.DataSource = dt
|
||||||
|
Else
|
||||||
|
' Filter funktioniert nicht mit den MouseEvents des LevelDesigners
|
||||||
|
gridview.OptionsView.ShowAutoFilterRow = True
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
Dim metadata As New ClassControlMetadata()
|
Dim metadata As New ClassControlMetadata()
|
||||||
metadata.Id = id
|
metadata.Id = id
|
||||||
metadata.Name = name
|
metadata.Name = name
|
||||||
|
|||||||
@ -268,6 +268,19 @@ Public Class ClassControlCommandsUI
|
|||||||
dr.Item("CONTROL_SQLCOMMAND_1"),
|
dr.Item("CONTROL_SQLCOMMAND_1"),
|
||||||
parent)
|
parent)
|
||||||
control = "Listbox - " & dr.Item("CONTROL_ID")
|
control = "Listbox - " & dr.Item("CONTROL_ID")
|
||||||
|
Case 14 'DataGridViewCheckable
|
||||||
|
CtrlBuilder.AddDataGridViewCheckable(dr.Item("CONTROL_ID"),
|
||||||
|
dr.Item("CONTROL_NAME"),
|
||||||
|
dr.Item("CTRLSCR_X_LOC"),
|
||||||
|
dr.Item("CTRLSCR_Y_LOC"),
|
||||||
|
dr.Item("CTRLSCR_WIDTH"),
|
||||||
|
dr.Item("CTRLSCR_HEIGHT"),
|
||||||
|
False,
|
||||||
|
dr.Item("CONTROL_READ_ONLY"),
|
||||||
|
dr.Item("CONTROL_REQUIRED"),
|
||||||
|
dr.Item("CONTROL_COL_NAME"),
|
||||||
|
parent)
|
||||||
|
control = "DataGridViewCheckable - " & dr.Item("CONTROL_ID")
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
_CtrlBuilder.MasterPanel.ResumeLayout()
|
_CtrlBuilder.MasterPanel.ResumeLayout()
|
||||||
|
|||||||
@ -108,6 +108,39 @@
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Overloads Shared Sub SetDataSource(control As DevExpress.XtraGrid.GridControl, dt As DataTable)
|
||||||
|
Dim sw As Stopwatch = Stopwatch.StartNew()
|
||||||
|
Dim columnCount As Integer = dt.Columns.Count
|
||||||
|
|
||||||
|
control.BeginUpdate()
|
||||||
|
|
||||||
|
Dim DT_Check As New DataTable
|
||||||
|
Dim col_chk As New DataColumn(" ", GetType(Boolean))
|
||||||
|
Dim col_str As New DataColumn("String_Value", GetType(String))
|
||||||
|
col_str.Caption = dt.Columns(0).Caption
|
||||||
|
col_str.ReadOnly = True
|
||||||
|
|
||||||
|
DT_Check.Columns.Add(col_chk)
|
||||||
|
DT_Check.Columns.Add(col_str)
|
||||||
|
|
||||||
|
' Daten füllen
|
||||||
|
For Each row As DataRow In dt.Rows
|
||||||
|
DT_Check.Rows.Add(False, row.Item(0))
|
||||||
|
Next
|
||||||
|
|
||||||
|
' Damit beim Setzen von DisplayMember und ValueMember kein Fehler auftritt,
|
||||||
|
' muss die Datasource zunächst geleert werden und der selected index auf -1 gesetzt werden.
|
||||||
|
control.DataSource = Nothing
|
||||||
|
|
||||||
|
' Als letztes setzen wir die DataSource
|
||||||
|
control.DataSource = DT_Check
|
||||||
|
DirectCast(control.MainView, DevExpress.XtraGrid.Views.Grid.GridView).Columns(0).Width = 10
|
||||||
|
control.EndUpdate()
|
||||||
|
|
||||||
|
sw.Stop()
|
||||||
|
' Console.WriteLine("SetDataSource for {0} took {1}ms", control.Name, sw.ElapsedMilliseconds)
|
||||||
|
End Sub
|
||||||
|
|
||||||
Overloads Shared Sub SetDataSource(control As CustomComboBox, dt As DataTable)
|
Overloads Shared Sub SetDataSource(control As CustomComboBox, dt As DataTable)
|
||||||
Dim sw As Stopwatch = Stopwatch.StartNew()
|
Dim sw As Stopwatch = Stopwatch.StartNew()
|
||||||
Dim columnCount As Integer = dt.Columns.Count
|
Dim columnCount As Integer = dt.Columns.Count
|
||||||
@ -483,4 +516,21 @@
|
|||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
Public Class DataGridViewCheckable : Inherits _ListControl
|
||||||
|
Public Shared Sub LoadList(control As DevExpress.XtraGrid.GridControl, formId As Integer, ConnId As Object, SQLCommand As String)
|
||||||
|
Dim dynamic As DynamicValue = GetDynamicValue(DirectCast(control.Tag, ClassControlMetadata).Id, formId, ConnId, SQLCommand)
|
||||||
|
|
||||||
|
If dynamic.StaticList IsNot Nothing Then
|
||||||
|
control.DataSource = dynamic.StaticList
|
||||||
|
End If
|
||||||
|
|
||||||
|
If dynamic.DataTable IsNot Nothing AndAlso dynamic.DataTable.Rows.Count > 0 Then
|
||||||
|
SetDataSource(control, dynamic.DataTable)
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
End Namespace
|
End Namespace
|
||||||
|
|||||||
@ -452,6 +452,7 @@ Module ClassControlProperties
|
|||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Class PictureBoxProperties
|
Public Class PictureBoxProperties
|
||||||
Inherits CommonProperties
|
Inherits CommonProperties
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@ -351,6 +351,10 @@ Public Class ClassControlValues
|
|||||||
Dim chlistbox = DirectCast(Ctrl, DevExpress.XtraEditors.CheckedListBoxControl)
|
Dim chlistbox = DirectCast(Ctrl, DevExpress.XtraEditors.CheckedListBoxControl)
|
||||||
ControlLoader.CheckedListBox.LoadList(chlistbox, FormID, ConnID, sqlcommand)
|
ControlLoader.CheckedListBox.LoadList(chlistbox, FormID, ConnID, sqlcommand)
|
||||||
|
|
||||||
|
Case GetType(DevExpress.XtraGrid.GridControl)
|
||||||
|
Dim grid = DirectCast(Ctrl, DevExpress.XtraGrid.GridControl)
|
||||||
|
ControlLoader.DataGridViewCheckable.LoadList(grid, FormID, ConnID, sqlcommand)
|
||||||
|
|
||||||
End Select
|
End Select
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
|||||||
@ -460,6 +460,20 @@
|
|||||||
dr.Item("CONTROL_SQLCOMMAND_1"),
|
dr.Item("CONTROL_SQLCOMMAND_1"),
|
||||||
parent,
|
parent,
|
||||||
True)
|
True)
|
||||||
|
Case 14 'DataGridViewCheckable
|
||||||
|
DesignerCtrlBuilder.AddDataGridViewCheckable(
|
||||||
|
dr.Item("CONTROL_ID"),
|
||||||
|
dr.Item("CONTROL_NAME"),
|
||||||
|
dr.Item("CTRLSCR_X_LOC"),
|
||||||
|
dr.Item("CTRLSCR_Y_LOC"),
|
||||||
|
dr.Item("CTRLSCR_WIDTH"),
|
||||||
|
dr.Item("CTRLSCR_HEIGHT"),
|
||||||
|
False,
|
||||||
|
dr.Item("CONTROL_READ_ONLY"),
|
||||||
|
dr.Item("CONTROL_REQUIRED"),
|
||||||
|
dr.Item("CONTROL_COL_NAME"),
|
||||||
|
parent,
|
||||||
|
True)
|
||||||
End Select
|
End Select
|
||||||
Next
|
Next
|
||||||
End Sub
|
End Sub
|
||||||
@ -678,6 +692,7 @@
|
|||||||
Case "Picturebox" : props = New PictureBoxProperties()
|
Case "Picturebox" : props = New PictureBoxProperties()
|
||||||
Case "ListBox" : props = New ComboBoxProperties()
|
Case "ListBox" : props = New ComboBoxProperties()
|
||||||
Case "CheckedListBox" : props = New ComboBoxProperties()
|
Case "CheckedListBox" : props = New ComboBoxProperties()
|
||||||
|
Case "DatagridviewCheckable" : props = New ComboBoxProperties()
|
||||||
Case "F_AddAppointment" : props = New FunctionAddAppointment()
|
Case "F_AddAppointment" : props = New FunctionAddAppointment()
|
||||||
Case "F_AddFormData" : props = New FunctionAddFormData()
|
Case "F_AddFormData" : props = New FunctionAddFormData()
|
||||||
End Select
|
End Select
|
||||||
@ -835,7 +850,19 @@
|
|||||||
props.ShowColumn = ClassConverter.ToBooleanOrDefault(r.Item("CONTROL_SHOW_COLUMN"), True)
|
props.ShowColumn = ClassConverter.ToBooleanOrDefault(r.Item("CONTROL_SHOW_COLUMN"), True)
|
||||||
props.SQLCommand = New SQLValue(NotNull(r.Item("CONTROL_SQLCOMMAND_1"), ""))
|
props.SQLCommand = New SQLValue(NotNull(r.Item("CONTROL_SQLCOMMAND_1"), ""))
|
||||||
props.EnabledWhen = New SQLValue(r.Item("CONTROL_SQLCOMMAND_2").ToString())
|
props.EnabledWhen = New SQLValue(r.Item("CONTROL_SQLCOMMAND_2").ToString())
|
||||||
|
Case "DatagridviewCheckable"
|
||||||
|
props.ControlType = "DataGridView/Table Checkable"
|
||||||
|
props.StaticList = New StaticListValue(r.Item("CONTROL_STATIC_LIST").ToString())
|
||||||
|
props.FontColor = IntToColor(r.Item("CTRLSCR_FONT_COLOR"))
|
||||||
|
props.Font = New Font(r.Item("CTRLSCR_FONT_FAMILY").ToString(),
|
||||||
|
CType(r.Item("CTRLSCR_FONT_SIZE"), Single),
|
||||||
|
CType(r.Item("CTRLSCR_FONT_STYLE"), FontStyle))
|
||||||
|
props.ColumnTitle = ClassConverter.ToStringOrDefault(r.Item("CONTROL_COL_NAME"), ctrl.Name)
|
||||||
|
props.ShowColumn = ClassConverter.ToBooleanOrDefault(r.Item("CONTROL_SHOW_COLUMN"), True)
|
||||||
|
props.SQLCommand = New SQLValue(NotNull(r.Item("CONTROL_SQLCOMMAND_1"), ""))
|
||||||
|
props.EnabledWhen = New SQLValue(r.Item("CONTROL_SQLCOMMAND_2").ToString())
|
||||||
|
props.IsRequired = r.Item("CONTROL_REQUIRED")
|
||||||
|
props.IsReadOnly = r.Item("CONTROL_READ_ONLY")
|
||||||
Case "F_AddAppointment"
|
Case "F_AddAppointment"
|
||||||
props.ControlType = "Function.AddToCalendar"
|
props.ControlType = "Function.AddToCalendar"
|
||||||
props.Caption() = r.Item("CTRLSCR_CAPTION")
|
props.Caption() = r.Item("CTRLSCR_CAPTION")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user