Also... Ohne XML funktioniert auch eine einfache Textdatei für die Settings:
Public Class Form1
Dim dtDataTable As New DataTable
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
dtDataTableInitialisieren()
DatensaetzeErzeugen()
DataGridView1Initialisieren()
End Sub
Private Sub DataGridView1Initialisieren()
With DataGridView1
.DataSource = dtDataTable
'.ReadOnly = True
.AllowUserToAddRows = False
.AllowUserToDeleteRows = False
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.MultiSelect = False
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
.ScrollBars = ScrollBars.Both
.RowsDefaultCellStyle.BackColor = Color.White
.AlternatingRowsDefaultCellStyle.BackColor = Color.AliceBlue
.AllowUserToOrderColumns = True
End With
End Sub
Private Sub dtDataTableInitialisieren()
dtDataTable = New DataTable
dtDataTable.TableName = "Tabelle"
Dim keys(1) As DataColumn
Dim column As New DataColumn
column.DataType = System.Type.GetType("System.Int32")
With column
.ColumnName = "ID"
.AutoIncrement = True
.AutoIncrementStep = 1
End With
dtDataTable.Columns.Add(column)
keys(0) = column
dtDataTable.PrimaryKey = keys
column = New DataColumn
column.DataType = System.Type.GetType("System.String")
column.ColumnName = "Ort"
dtDataTable.Columns.Add(column)
column = New DataColumn
column.DataType = System.Type.GetType("System.String")
column.ColumnName = "Land"
dtDataTable.Columns.Add(column)
column = New DataColumn
column.DataType = System.Type.GetType("System.String")
column.ColumnName = "Kontinent"
dtDataTable.Columns.Add(column)
column = New DataColumn
column.DataType = System.Type.GetType("System.String")
column.ColumnName = "Status"
dtDataTable.Columns.Add(column)
End Sub
Private Sub DatensaetzeErzeugen()
dtDataTable.Rows.Add(Nothing, "Hamburg", "Deutschland", "Europa", _
"unerledigt")
dtDataTable.Rows.Add(Nothing, "München", "Bayern", "Europa", "erledigt")
dtDataTable.Rows.Add(Nothing, "Karlsruhe", "Deutschland", "Eruopa", _
"unerledigt")
dtDataTable.Rows.Add(Nothing, "New York", "USA", "Nordamerika", _
"erledigt")
dtDataTable.Rows.Add(Nothing, "Nairobi", "Kenia", "Afrika", _
"unerledigt")
dtDataTable.Rows.Add(Nothing, "Moskau", "Russland", "Europa", _
"erledigt")
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles _
Button1.Click
Dim i As Integer
Dim sw As New System.IO.StreamWriter("d:\test\columnsettings.txt")
For i = 0 To DataGridView1.Columns.Count - 1
Dim col As DataGridViewColumn = DataGridView1.Columns(i)
sw.WriteLine(i & ";" & col.DisplayIndex & ";" & col.Width & ";" & _
col.Visible)
Next
sw.Close()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles _
Button2.Click
Dim sr As New System.IO.StreamReader("D:\test\columnsettings.txt")
Dim line As String = ""
Do While (sr.Peek() >= 0)
line = sr.ReadLine
Dim arr() As String = line.Split(";")
Dim iCol As Integer = CInt(arr(0))
Dim iPos As Integer = CInt(arr(1))
Dim iWidth As Integer = CInt(arr(2))
Dim bVisible As Boolean = arr(3)
Dim col As DataGridViewColumn = DataGridView1.Columns(iCol)
With col
.DisplayIndex = iPos
.Width = iWidth
.Visible = bVisible
End With
Loop
sr.Close()
End Sub
End Class EALA FREYA FRESENA |