<%@ Import Namespace="System.Data" %>
<script language="vb" runat="server">
Private Sub bindGrid()
dgSample.DataSource = createData()
dgSample.DataBind()
End Sub
Private Function createData() As DataTable
Dim dt As New DataTable()
dt.Columns.Add(New DataColumn("ID"))
dt.Columns.Add(New DataColumn("LastName"))
dt.Columns.Add(New DataColumn("FirstName"))
addRow(dt, 1, "Smith", "Bob")
addRow(dt, 2, "Carter", "Chris")
Return dt
End Function
Private Sub addRow(ByRef target As DataTable, ByVal id As Integer, ByVal lastName As String, ByVal firstName As String)
Dim dr As DataRow = target.NewRow()
dr("ID") = id
dr("LastName") = lastName
dr("FirstName") = firstName
target.Rows.Add(dr)
End Sub
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
If Not Page.IsPostBack Then
bindGrid()
End If
End Sub
Protected Sub dgSample_ItemCreated(ByVal sender As Object, ByVal e As DataGridItemEventArgs)
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
Dim lbtnDelete As LinkButton
lbtnDelete = CType(e.Item.FindControl("lbtnDelete"), System.Web.UI.WebControls.LinkButton)
If Not lbtnDelete Is Nothing Then
lbtnDelete.Attributes.Add("onclick", "return confirmDelete();")
End If
End If
End Sub
Protected Sub dgSample_ItemCommand(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
Dim id As Integer = dgSample.DataKeys(e.Item.ItemIndex)
Dim itemIndex As Integer = -1
Select e.CommandName.ToLower()
Case "edit":
itemIndex = e.Item.ItemIndex
Case "save":
Response.Write(String.Format("Saving: {0}", id))
Case "delete":
Response.Write(String.Format("Deleting: {0}", id))
End Select
dgSample.EditItemIndex = itemIndex
bindGrid()
End Sub
</script>
<html>
<head>
<script language="javascript">
function confirmDelete()
{
return window.confirm("Are you sure you want to delete this item?");
}
</script>
</head>
<body>
<form runat="server">
<asp:DataGrid ID="dgSample" Runat="server" AutoGenerateColumns="False" DataKeyField="ID"
OnItemCreated="dgSample_ItemCreated" OnItemCommand="dgSample_ItemCommand">
<Columns>
<asp:BoundColumn DataField="LastName" HeaderText="Last Name"/>
<asp:BoundColumn DataField="FirstName" HeaderText="First Name"/>
<asp:TemplateColumn>
<ItemTemplate>
<asp:LinkButton ID="lbtnEdit" Runat="server" CommandName="Edit" Text="Edit"/>
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton ID="lbtnSave" Runat="server" CommandName="Save" Text="Save"/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:LinkButton ID="lbtnDelete" Runat="server" CommandName="Delete" Text="Delete"/>
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton ID="lbtnCancel" Runat="server" CommandName="Cancel" Text="Cancel"/>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
</body>
</html>