Dim dc As New clsPDAppsDataClassesDataContext
'// Fill the Permissions DataGrdViews
'//Global
Dim qPermision = (From p In dc.GetTable(Of sys_Permission)() _
Order By p.Name Ascending _
Select p).ToList()
With dgvGlobalPermissionsDataGridView
.DataSource = qPermision
.Columns.Item(0).ReadOnly = True
.Columns.Item(0).HeaderText = "ID"
.Columns.Item(0).Width = 50
.Columns.Item(0).AutoSizeMode = DataGridViewAutoSizeColumnMode.None
.Columns.Item(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.Columns.Item(0).Visible = False
.Columns.Item(1).ReadOnly = True
.Columns.Item(1).HeaderText = "Name"
.Columns.Item(1).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns.Item(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
.Columns.Item(2).ReadOnly = True
.Columns.Item(2).HeaderText = "Admins"
.Columns.Item(2).Width = 50
.Columns.Item(2).AutoSizeMode = DataGridViewAutoSizeColumnMode.None
.Columns.Item(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.Columns.Item(3).HeaderText = "Users"
.Columns.Item(3).Width = 50
.Columns.Item(3).AutoSizeMode = DataGridViewAutoSizeColumnMode.None
.Columns.Item(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.Columns.Item(4).HeaderText = "Ltd Users"
.Columns.Item(4).Width = 50
.Columns.Item(4).AutoSizeMode = DataGridViewAutoSizeColumnMode.None
.Columns.Item(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.Columns.Item(5).ReadOnly = True
.Columns.Item(5).HeaderText = "New Users"
.Columns.Item(5).Width = 50
.Columns.Item(5).AutoSizeMode = DataGridViewAutoSizeColumnMode.None
.Columns.Item(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.AllowUserToResizeColumns = False
.AllowUserToResizeRows = False
.AllowUserToAddRows = False
.RowHeadersVisible = False
.AllowUserToOrderColumns = False
.AllowUserToDeleteRows = False
.ForeColor = Color.Black
.BackgroundColor = Color.White
.DefaultCellStyle.SelectionBackColor = Color.White
.DefaultCellStyle.SelectionForeColor = Color.Black
.ColumnHeadersDefaultCellStyle.SelectionForeColor = Color.Black
.ColumnHeadersDefaultCellStyle.SelectionBackColor = Color.WhiteSmoke
.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
.ColumnHeadersDefaultCellStyle.BackColor = Color.WhiteSmoke
.AlternatingRowsDefaultCellStyle.BackColor = Color.Cornsilk
.AlternatingRowsDefaultCellStyle.SelectionBackColor = Color.Cornsilk
End With
'... End Global Permissions DataGridView
ASKER
ASKER
' Create a data adapter
Me.prDA = New SqlDataAdapter
With Me.prDA
.SelectCommand = SelectAll ' Select SqlCommand
.InsertCommand = Insert ' Insert SqlCommand
.UpdateCommand = Update ' Update SqlCommand
.DeleteCommand = Delete ' Delete SqlCommand
End With
' Populate Data table
Me.prDA.SelectCommand.Connection.Open)
Me.prDA.FillSchema(Me.prDT, SchemaType.Mapped)
Me.prDA.Fill(Me.prDT)
' Bind Datagrid
Dim BS as New Window.forms.BindingSource
BS.Datasource = Me.prDT
dgvGlobalPermissionsDataGridView.DataSource = BS
' Update changes to the data table
Dim DT As DataTable = prDT.GetChanges
If DT IsNot Nothing Then
' Loops through all the changes in theis datatable and saves them
For Each row As DataRow In DT.Rows
Select Case row.RowState
Case DataRowState.Added
With Me.prDA.InsertCommand
.Parameters("@Admin").Value = row("Admin") ' Parameters to update
.Connection.Open()
.ExecuteNonQuery()
.Connection.Close()
End With
Case DataRowState.Modified
With Me.prDA.UpdateCommand
.Parameters("@Admin").Value = row("Admin") ' Parameters to update
.Parameters("@ID").Value = row("ID", DataRowVersion.Original)
.Connection.Open()
.ExecuteNonQuery()
.Connection.Close()
End With
Case DataRowState.Deleted
With Me.prDA.DeleteCommand
.Parameters("@ID").Value = row("ID", DataRowVersion.Original)
.Connection.Open()
.ExecuteNonQuery()
.Connection.Close()
End With
End Select
Next
Me.ReBindDataSource()
End If
ASKER
ASKER
The .NET Framework is not specific to any one programming language; rather, it includes a library of functions that allows developers to rapidly build applications. Several supported languages include C#, VB.NET, C++ or ASP.NET.
TRUSTED BY
I found it easiest to actually create the columns programatically and then add them to the datagrid. I also had problems with the columns reordering by themselves and this sorted it out.
Hope this helps
Open in new window