Here is my Code I copied it from book...thanks again in Advance
<%@Page Language="
VB" Debug="True" Explicit="True" %>
<%@Import NameSpace="System.Data" %>
<%@Import NameSpace="System.IO" %>
<script runat="server">
Sub Page_Load(Sender As Object, E As EventArgs)
If Not Page.IsPostBack Then
EventData.DataSource= LoadMyCalendarData
EventData.DataBind()
End If
End Sub
Protected Function LoadMyCalendarData() As DataSet
Dim SourceXML As String = Server.MapPath("MyCalendar.xml")
If ( Not File.Exists ( SourceXML ) ) Then
Return Nothing
End If
Dim CachedDataSet As DataSet = Session("MyCalendarData")
If ( Not CachedDataSet Is Nothing ) Then
Return CachedDataSet
End If
Dim DataSet As DataSet = New DataSet()
Try
DataSet.ReadXml(SourceXML)
Session("MyCalendarData") = DataSet
Catch E As Exception
ErrorMessage.Text = e.Message
DataSet = Nothing
End Try
Return DataSet
End Function
Sub DEDR_Edit(Sender As Object, E As DataGridCommandEventArgs)
EventData.EditItemIndex = CInt(E.Item.ItemIndex)
EventData.DataSource = LoadMyCalendarData
EventData.DataBind()
End Sub
Sub DEDR_Update(Sender As Object, E As DataGridCommandEventArgs)
Dim DataSet As DataSet = LoadMyCalendarData
Dim Row As Integer = CInt(E.Item.ItemIndex)
Dim EditText As TextBox
EditText = E.Item.FindControl("txtShortDesc")
DataSet.Tables(0).Rows(Row).Item("ShortDesc") = EditText.Text
EditText = E.Item.FindControl("txtDetailDesc")
DataSet.Tables(0).Rows(Row).Item("DetailDesc") = EditText.Text
EditText = E.Item.FindControl("txtEventDate")
DataSet.Tables(0).Rows(Row).Item("EventDate") = EditText.Text
EditText = E.Item.FindControl("txtStartTime")
DataSet.Tables(0).Rows(Row).Item("StartTime") = EditText.Text
EditText = E.Item.FindControl("txtEndTime")
DataSet.Tables(0).Rows(Row).Item("EndTime") = EditText.Text
DataSet.WriteXml(Server.MapPath("MyCalendar.xml"))
Session("MyCalendarData") = Nothing
EventData.EditItemIndex = -1
EventData.DataSource = LoadMyCalendarData
EventData.DataBind()
End Sub
Sub DEDR_Cancel(Sender As Object, E As DataGridCommandEventArgs)
EventData.EditItemIndex = -1
Session("MyCalendarData") = Nothing
EventData.DataSource = LoadMyCalendarData
EventData.DataBind()
End Sub
Sub DEDR_Delete(Sender As Object, E As DataGridCommandEventArgs)
Dim DataSet As DataSet = LoadMyCalendarData
Dim Row As Integer = CInt(E.Item.ItemIndex)
DataSet.Tables(0).Rows(Row).Delete
DataSet.WriteXml(Server.MapPath("MyCalendar.xml"))
Session("MyCalendarData") = Nothing
EventData.EditItemIndex = -1
EventData.DataSource = LoadMyCalendarData
EventData.DataBind()
End Sub
Sub DEDR_Add(Sender As Object, E As EventArgs)
Dim DataSet As DataSet = LoadMyCalendarData
Dim NewRow As DataRow
NewRow = DataSet.Tables(0).NewRow()
NewRow.Item("EventDate") = ""
NewRow.Item("ShortDesc") = ""
NewRow.Item("DetailDesc") = ""
NewRow.Item("StartTime") = ""
NewRow.Item("EndTime") = ""
DataSet.Tables(0).Rows.Add(NewRow)
DataSet.Writexml(Server.MapPath("MyCalendar.xml"))
Session("MyCalendarData") = Nothing
EventData.DataSource = LoadMyCalendarData
EventData.DataBind()
EventData.EditItemIndex = EventData.Items.Count - 1
EventData.DataSource = LoadMyCalendarData
EventData.DataBind()
End Sub
</script>
<html>
<body>
<form runat="server">
<asp:Label ID="ErrorMessage" runat="server" /><br>
<asp:LinkButton OnClick="DEDR_Add" Text="Add New Event" runat="server"/><br>
<a href="MyCalendar.aspx">Back To Calendar</a><br>
<asp:DataGrid ID="EventData"
AutoGenerateColumns="false" Width="100%" runat="server"
OnEditCommand="DEDR_Edit"
OnUpdateCommand="DEDR_Update"
OnCancelCommand="DEDR_Cancel"
OnDeleteCommand="DEDR_Delete"
>
<headerstyle ForeColor="White" BackColor="DodgerBlue" Font-Bold="true"/>
<itemstyle BackColor="White"/>
<alternatingitemstyle BackColor="Gainsboro"/>
<columns>
<asp:TemplateColumn HeaderText="Date">
<itemtemplate>
<%# DataBinder.Eval(Container.DataItem, "EventDate") %>
</itemtemplate>
<edititemtemplate>
<asp:TextBox ID="txtEventDate" size="25" Text='<%# DataBinder.Eval(Container.DataItem, "EventDate") %>' runat="server"/>
</edititemtemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Event">
<itemtemplate>
<%# Container.DataItem("ShortDesc") %>
</itemtemplate>
<edititemtemplate>
<asp:TextBox ID="txtShortDesc" Size="25" Text='<%# DataBinder.Eval(Container.DataItem, "ShortDesc") %>' runat="server"/>
</edititemtemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Description">
<itemtemplate>
<%# Container.DataItem("DetailDesc") %>
</itemtemplate>
<edititemtemplate>
<asp:TextBox ID="txtDetailDesc" Size="50" Text='<%# DataBinder.Eval(Container.DataItem, "DetailDesc") %>' runat="server"/>
</edititemtemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Start Time">
<itemtemplate>
<%# Container.DataItem("StartTime") %>
</itemtemplate>
<edititemtemplate>
<asp:TextBox ID="txtStartTime" size="7" Text='<%# DataBinder.Eval(Container.DataItem, "StartTime") %>' runat="server"/>
</edititemtemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="End Time">
<itemtemplate>
<%# Container.DataItem("EndTime") %>
</itemtemplate>
<edititemtemplate>
<asp:TextBox ID="txtEndTime" size="7" Text='<%# DataBinder.Eval(Container.DataItem, "EndTime") %>' runat="server"/>
</edititemtemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<itemtemplate>
<asp:LinkButton CommandName="Edit" Text="Edit" runat="server"/>
<asp:LinkButton CommandName="Delete" Text="Delete" runat="server"/>
</itemtemplate>
<edititemtemplate>
<asp:LinkButton CommandName="Cancel" Text="Cancel" runat="server"/>
<asp:LinkButton CommandName="Update" Text="Update" runat="server"/>
</edititemtemplate>
</asp:TemplateColumn>
</columns>
</asp:DataGrid>
</form>
</body>
</html>