|
DataGrid Events (Sort, Edit,
Delete) by Charles Carroll
This page demonstrates how to render
an XML file as a grid. It demonstrates the various events and behavior a DataGrid exhibits that makes sorting, deleting and other tasks easy.
Below we will demonstrate the events without any code that affects the data so you see the event model.
the Docs have some example that do
the data access in conjunction with the events @ http://www.aspng.com/quickstart/aspplus/doc/webdataaccess.aspx
You may find you want more column
formatting and:
http://www.aspng.com/learn/columnbinding.aspx
shows more about adding custom columns.
filename=\experiments\bookdata\booksgridevents.aspx
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data" %>
<html>
<script language="VB" runat="server">
Sub Page_Load(Src As Object, E As EventArgs)
If Not (IsPostBack)
DataLoad("isbn")
End If
End Sub
Sub DataLoad(parmsort as string)
Dim ds As New DataSet
Dim FS As New FileStream(Server.MapPath("/experiments/data/books.xml"), FileMode.Open)
ds.ReadXml(FS)
Dim dv1 as new dataview(ds.Tables(0))
dv1.Sort = parmsort
'dv1.RowFilter = "city='Albany'"
MyDataGrid.DataSource = dv1
MyDataGrid.DataBind()
FS.close()
END SUB
Sub DataSort(Src As Object, E As DataGridSortCommandEventArgs)
' Bug if we sort, then Edit Item Becomes Wrong
IF MyDataGrid.EditItemIndex=-1 THEN
DataLoad(e.sortexpression)
ELSE
response.write ("Can't sort until editing is done!")
END IF
End Sub
Sub DataDelete(Sender As Object, E As DataGridCommandEventArgs)
DIM deletekey as string
IF MyDataGrid.EditItemIndex=-1 THEN
deletekey=MyDataGrid.DataKeys(CInt(E.Item.ItemIndex))
response.write ("deleted " & deletekey)
ELSE
response.write ("Can't delete until editing is done!")
END IF
END SUB
Sub DataEdit(Sender As Object, E As DataGridCommandEventArgs)
DIM editkey as string
MyDataGrid.EditItemIndex = Cint(E.Item.ItemIndex)
editkey=MyDataGrid.DataKeys(CInt(E.Item.ItemIndex))
'response.write ("To Be Edited" & editkey)
DataLoad("")
End Sub
Sub DataCancel(Sender As Object, E As DataGridCommandEventArgs)
MyDataGrid.EditItemIndex = -1
response.write ("edit was cancelled")
DataLoad("")
End Sub
Sub DataUpdate(Sender As Object, E As DataGridCommandEventArgs)
DIM editkey as string
MyDataGrid.EditItemIndex = -1
editkey = MyDataGrid.DataKeys(CInt(E.Item.ItemIndex))
response.write ("To Be Updated " & editkey)
DataLoad("")
' howmanycols = E.Item.Cells.Count
End Sub
</script>
<body>
<h3><font face="Verdana">The Best Books Ever</font>
<span runat="server" id="MySpan"/></h3>
<form runat="server">
<ASP:DataGrid id="MyDataGrid" runat="server"
AllowSorting="true"
OnSortCommand="DataSort"
OnDeleteCommand="DataDelete"
OnEditCommand="DataEdit"
OnCancelCommand="DataCancel"
OnUpdateCommand="DataUpdate"
DataKeyField="isbn"
Width="100%"
BackColor="white"
BorderColor="black"
ShowFooter="false"
CellPadding=3
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
Headerstyle-BackColor="lightblue"
Headerstyle-Font-Size="10pt"
Headerstyle-Font-Style="bold"
MaintainState="true"
>
<Columns>
<asp:ButtonColumn Text="Delete Book" CommandName="Delete"/>
<asp:EditCommandColumn EditText="Edit" CancelText="Cancel" UpdateText="Update" ItemStyle-Wrap="false"/>
</columns>
</ASP:DataGrid>
</form>
</body>
</html>
By the way, here is the XML source for this example:
filename=\experiments\bookdata\books.xml
<books>
<book>
<isbn>0070653623</isbn>
<author>Jack Trout, Steve Rivkin</author>
<title>The Power of Simplicity</title>
<category>selfhelp</category>
<comments>A Real Fun Read</comments>
</book>
<book>
<isbn>0887306667</isbn>
<author>Al Reiss, Jack Trout</author>
<title>22 Immutable Laws of Marketing</title>
<category>marketing</category>
<comments>This team offers more profound advice about creating world class marketing campaigns that will be viable for a hundred years.</comments>
</book>
<book>
<isbn>0887309372</isbn>
<author>Al Reiss, Laura Reiss</author>
<title>22 Immutable Laws of Branding</title>
<category>marketing</category>
<comments>This book is great for people who used 22 Immutable Laws of Marketing to build a brand and now want to strengthen that brand.</comments>
</book>
<book>
<isbn>0679757651</isbn>
<author>Tom Peters</author>
<title>Circle of Innovation</title>
<category>marketing</category>
<comments>His most recent book is his best by far!</comments>
</book>
<book>
<isbn>0884270610</isbn>
<author>Eli Goldthrait</author>
<title>The Goal</title>
<category>management</category>
<comments>Advocate of Theory of Constraints as applied to managment and optimization.</comments>
</book>
<book>
<isbn>068485600X</isbn>
<author>Jeff Cox, Howard Stevens</author>
<title>Selling the Wheel</title>
<category>management</category>
<comments>Excellent Treatise/Novel on the entire Sales Cycle</comments>
</book>
<book>
<isbn>0672316498</isbn>
<author>Alan Cooper</author>
<title>The Inmates Are Running The Asylum</title>
<category>management</category>
<comments>The father of Visual Basic and creator of the new art of Interaction Design - very valuable in designing websites. Basically the worlds most cutting edge thinker in User Interface design aimed at simplifying software use.</comments>
</book>
</books>
 |  |  |
 |
There are many worthy charities!!. But perhaps help starving children in Africa or South America AND help Charles too.
a $5 tip buys him lunch at McDonalds,
a $20 tip buys his kid Hitoshi a new computer game,
a $39 tip buys his daughter Michiko a few nice outfits.
See our donor list.
|  |
 |  |  |
|
|
|
|