Hi
I've manage to dynamically generate row and cols from the database
But I now need to add some EditCommandColumns to the end of the DataGrid.
How?
Function BuildUserTable() As ICollection
Dim [Roles] As New UsersDB()
Dim RolesList As SqlDataReader = [Roles].GetAllRoles()
Dim UserList As SqlDataReader = [Roles].GetUsers()
Dim dt As New DataTable()
Dim dr As DataRow
Dim i As Integer
Dim dv As New DataView(dt)
dt.Columns.Add(New DataColumn("ID", GetType(Int32)))
dt.Columns.Add(New DataColumn("Name", GetType(String)))
While RolesList.Read
dt.Columns.Add(New DataColumn(CStr(RolesList("RoleName")),
GetType(Boolean)))
End While
dt.Columns.Add(New DataColumn("Edit",
GetType(EditCommandColumn))) ' <-- this
dt.Columns.Add(New DataColumn("Status", GetType(String)))
dt.Columns.Add(New DataColumn("Delete", GetType(String)))
Dim ColCount As Integer = dt.Columns.Count
While UserList.Read
dr = dt.NewRow()
dr(0) = UserList("UserID")
dr(1) = (UserList("LastName") & ", " &
UserList("FirstName"))
For i = 2 To ColCount - 4
' Create a string to persist the roles
Dim rolesArr() As String
rolesArr = [Roles].GetRoles(CInt(UserList("UserID")))
Dim role As String
For Each role In rolesArr
If dt.Columns(i).ColumnName = role Then dr(i) = True
Else dr(i) = False
Next role
Next
Dim EditButton As New
System.Web.UI.WebControls.EditCommandColumn()
EditButton.ButtonType = ButtonColumnType.LinkButton
EditButton.CancelText = "Cancel"
EditButton.EditText = "Edit"
EditButton.UpdateText = "Save"
EditButton.Visible = True
dr(ColCount - 3) = EditButton '<-- this
dr(ColCount - 2) = "Active"
dr(ColCount - 1) = "Delete"
dt.Rows.Add(dr)
End While
dv.Item(1).BeginEdit()
Return dv
End Function