-- 作者:yudith
-- 发布时间:9/26/2004 9:40:00 PM
--
给你份源码 aspx文件: <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.Globalization" %> <script Language="c#" runat="server"> void Page_Load(object sender, EventArgs e) { if (!(Page.IsPostBack)) { EventData.DataSource = LoadMyCalendarData(); EventData.DataBind(); } } protected DataSet LoadMyCalendarData() { string sourceXml = Server.MapPath("MyCalendar.xml"); if (!(File.Exists(sourceXml))) { return null; } DataSet cachedDataSet = (DataSet)Session["MyCalendarData"]; if (!(cachedDataSet == null)) { return cachedDataSet; } DataSet dataSet = new DataSet(); try { dataSet.ReadXml(sourceXml); Session["MyCalendarData"] = dataSet; } catch (Exception e) { ErrorMessage.Text = e.Message; dataSet = null; } return dataSet; } void DEDR_Edit(object sender, DataGridCommandEventArgs e) { EventData.EditItemIndex = Convert.ToInt32(e.Item.ItemIndex); EventData.DataSource = LoadMyCalendarData(); EventData.DataBind(); } void DEDR_Update(object sender, DataGridCommandEventArgs e) { DataSet dataSet = LoadMyCalendarData(); int row = Convert.ToInt32(e.Item.ItemIndex); TextBox EditText = null; EditText = (TextBox)e.Item.FindControl("txtShortDesc"); dataSet.Tables[0].Rows[row]["ShortDesc"] = EditText.Text; EditText = (TextBox)e.Item.FindControl("txtDetailDesc"); dataSet.Tables[0].Rows[row]["DetaiLDesc"] = EditText.Text; EditText = (TextBox)e.Item.FindControl("txtEventDate"); dataSet.Tables[0].Rows[row]["EventDate"]= EditText.Text; EditText = (TextBox)e.Item.FindControl("txtStartTime"); dataSet.Tables[0].Rows[row]["StartTime"] = EditText.Text; EditText = (TextBox)e.Item.FindControl("txtEndTime"); dataSet.Tables[0].Rows[row]["EndTime"] = EditText.Text; dataSet.WriteXml(Server.MapPath("MyCalendar.xml")); Session["MyCalendarData"] = null; EventData.EditItemIndex = -1; EventData.DataSource = LoadMyCalendarData(); EventData.DataBind(); } void DEDR_Cancel(object sender, DataGridCommandEventArgs e) { EventData.EditItemIndex = -1; Session["MyCalendarData"] = null; EventData.DataSource = LoadMyCalendarData(); EventData.DataBind(); } void DEDR_Delete(object sender, DataGridCommandEventArgs e) { DataSet dataSet = LoadMyCalendarData(); int row = Convert.ToInt32(e.Item.ItemIndex); dataSet.Tables[0].Rows[row].Delete(); dataSet.WriteXml(Server.MapPath("MyCalendar.xml")); Session["MyCalendarData"] = null; EventData.EditItemIndex = -1; EventData.DataSource = LoadMyCalendarData(); EventData.DataBind(); } void DEDR_Add(object sender, EventArgs e) { DataSet dataSet = LoadMyCalendarData(); DataRow newRow; newRow = dataSet.Tables[0].NewRow(); newRow["ShortDesc"] = ""; newRow["DetailDesc"] = ""; newRow["EventDate"] = ""; newRow["StartTime"] = ""; newRow["EndTime"] = ""; dataSet.Tables[0].Rows.Add(newRow); dataSet.WriteXml(Server.MapPath("MyCalendar.xml")); Session["MyCalendarData"] = null; EventData.DataSource = LoadMyCalendarData(); EventData.DataBind(); EventData.EditItemIndex = EventData.Items.Count - 1; EventData.DataSource = LoadMyCalendarData(); EventData.DataBind(); } </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/> <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> <%# DataBinder.Eval(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> <%# DataBinder.Eval(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> <%# DataBinder.Eval(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="EndTime"> <ItemTemplate> <%# DataBinder.Eval(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> MyCalendar.xml: <?xml version="1.0" standalone="yes"?> <MyCalendar> <Event> <ShortDesc>Gig in Portland - Jazz Club</ShortDesc> <DetailDesc>This should be fun - playing J & T again - be sure to bring the charts.</DetailDesc> <EventDate>2002/07/02</EventDate> <StartTime>6:00PM</StartTime> <EndTime>11:30PM</EndTime> </Event> <Event> <ShortDesc> Rehearsal - Brigadoon</ShortDesc> <DetailDesc>Community Theatre orchestra rehearsal - bring mutes.</DetailDesc> <EventDate>2002/07/14</EventDate> <StartTime>3:30PM</StartTime> <EndTime>6:30PM</EndTime> </Event> <Event> <ShortDesc>.NET Training Class</ShortDesc> <DetailDesc>This should be fun - we'll explore some of the really cool stuff, like ASP.NET server controls and Web Services.</DetailDesc> <EventDate>2002/07/17</EventDate> <StartTime>8:00AM</StartTime> <EndTime>4:30PM</EndTime> </Event> <Event> <ShortDesc>Writing Workshop for Musical Project with Gregg</ShortDesc> <DetailDesc>We're going to brainstorm some ideas and see if we can come up with something great. We're off to a good start.</DetailDesc> <EventDate>2002/07/19</EventDate> <StartTime>10:00AM</StartTime> <EndTime>6:30PM</EndTime> </Event> <Event> <ShortDesc>Community Band</ShortDesc> <DetailDesc>Central park - we'll play everything from standards to shows tunes to classical to marches - you name it. People bring their lawn chairs, eat their dinner, kids play - a great time!</DetailDesc> <EventDate>2002/07/24</EventDate> <StartTime>7:00PM</StartTime> <EndTime>9:00PM</EndTime> </Event> <Event> <ShortDesc>Jam Session at the Beach</ShortDesc> <DetailDesc>Bring more food this time and the crab nets - and the instruments! We'll might stay for a week or so depending on the weather.</DetailDesc> <EventDate>2002/07/21</EventDate> <StartTime>8:00AM</StartTime> <EndTime>11:30PM</EndTime> </Event> <Event> <ShortDesc>Rob's Birthday!</ShortDesc> <DetailDesc>Nothing too fancy - just friends and family. Hope it's a nice day - bike ride would be fun.</DetailDesc> <EventDate>2002/07/30</EventDate> <StartTime>6:09PM</StartTime> <EndTime>11:30PM</EndTime> </Event> </MyCalendar>
|