The ASP code:
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False"
EditMode="InPlace" CommandItemDisplay="Top"
CssClass="grid" Skin="Default"
AllowPaging="True" PageSize="20" Width="300px"
>
<MasterTableView DataKeyNames="intUserID" CommandItemDisplay="Top" EditMode="InPlace">
<Columns>
<telerik:GridButtonColumn ConfirmText="Delete this user?" ConfirmDialogType="RadWindow"
ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" ConfirmDialogHeight="100px"
ConfirmDialogWidth="220px" />
<telerik:GridEditCommandColumn ButtonType="ImageButton"></telerik:GridEditCommandColumn>
<telerik:GridBoundColumn Visible="false" DataField="intUserID" ></telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="User Name" DataField="vchrUserName" ></telerik:GridBoundColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
The code behind:
Protected Sub btnUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
If Session("groupID") = 0 Then
'insert
If Me.txtGroupName.Text > "" Then
Session("groupID") = SPIntranet.sp_4P_masterGroup_INS(Me.txtGroupName.Text).executeScalar
Response.Redirect("groupEdit.aspx")
End If
Else
'update
If Me.txtGroupName.Text > "" Then
SPIntranet.sp_4P_masterGroup_UPD(Session("groupID"), Me.txtGroupName.Text).execute()
End If
End If
Dim a As Int16
If AppUser.bIsSuperAdmin Then
For a = 0 To Me.dgDatabase.Rows.Count - 1
Dim lblInterid As Label = CType(Me.dgDatabase.Rows(a).FindControl("lblInterid"), Label)
Dim intChecked As Int16 = CType(Me.dgDatabase.Rows(a).FindControl("chkDatabase"), CheckBox).Checked
SPIntranet.sp_4P_groupDB_INSUPD(Session("groupID"), lblInterid.Text, intChecked).execute()
Next
End If
Response.Redirect("group.aspx")
End Sub
Protected Sub RadGrid1_DeleteCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGrid1.DeleteCommand
Dim intUserID As Int32 = TryCast(e.Item, GridDataItem).GetDataKeyValue("intUserID")
If Not IsNumeric(Session("GroupID")) Then
Response.Redirect("~/admin/adminmenu.aspx")
End If
SPIntranet.sp_4P_userGroup_DEL_userFromGroup(intUserID, Session("GroupID")).execute()
End Sub
Protected Sub RadGrid1_InsertCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGrid1.InsertCommand
Try
Dim strUserName As String = ""
Dim insertedItem As GridDataInsertItem = DirectCast(e.Item, GridDataInsertItem)
strUserName = (TryCast(insertedItem("vchrUserName").Controls(0), TextBox)).Text
If Not IsNumeric(Session("GroupID")) Then
Response.Redirect("~/admin/adminmenu.aspx")
End If
Dim intGroupID As Int32 = Session("GroupID")
SPIntranet.sp_4P_userGroup_INS(strUserName, intGroupID).execute()
Catch ex As Exception
Throw ex
End Try
End Sub
Protected Sub RadGrid1_NeedDataSource(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RadGrid1.NeedDataSource
If Not IsNumeric(Session("GroupID")) Then
Response.Redirect("~/admin/adminmenu.aspx")
End If
'bind the 'user' grid
Me.RadGrid1.DataSource = dynData.SPIntranet.sp_4P_userGroup_SEL2(Session("groupID")).getTable
End Sub
Protected Sub RadGrid1_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles RadGrid1.ItemDataBound
'code to hide the 'edit' command button
If TypeOf e.Item Is GridDataItem Then
Dim item As GridDataItem = e.Item
Dim lnkButton As ImageButton = item("EditCommandColumn").Controls(0)
'the 'save' button is labeled 'insert'
If Not lnkButton.AlternateText = "Insert" Then
lnkButton.Visible = False
End If
End If
End Sub