XML kodları,
<?xml version="1.0" standalone="yes"?>
<comments><comment>
<author>1Ahmet</author>
<email>ahmet@gmail.com</email>
<text>sdsdsd</text>
<date>08.02.2010</date>
<path>07.jpg</path>
<approve>true</approve>
</comment>
HTML kodları
<asp:GridView ID="gvitems" runat="server" OnRowEditing="Editdata" OnPageIndexChanging="pageddata"
OnRowDeleting="Deletedata" OnRowUpdating="Updatedata" OnRowCancelingEdit="Canceldata"
PageSize="10" AllowPaging="True" CellPadding="4" ForeColor="#333333" AutoGenerateColumns="False"
Width="100%" GridLines="None" OnRowDataBound="gvitems_RowDataBound">
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<PagerSettings Position="Bottom" />
<FooterStyle BackColor="#5D7B9D" ForeColor="White" Font-Bold="True" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" HorizontalAlign="Left" />
<EditRowStyle BackColor="#999999" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:TemplateField>
<HeaderTemplate>
Row
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblRowNumber" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Author
</HeaderTemplate>
<ItemTemplate>
<%#Eval("author") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox class="textbox" ID="txtauthor" runat="server" Text='<%#Eval("author") %>' />
<asp:RequiredFieldValidator ID="rfvAuthor" runat="server" ControlToValidate="txtauthor"
ValidationGroup="comments" ErrorMessage="Author empty.">*</asp:RequiredFieldValidator>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Email
</HeaderTemplate>
<ItemTemplate>
<%#Eval("email") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox class="textbox" ID="txtemail" runat="server" Text='<%#Eval("email") %>' />
<asp:RequiredFieldValidator ID="rfvEmail" runat="server" ControlToValidate="txtemail"
ValidationGroup="comments" ErrorMessage="Email empty.">*</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="revEmail" runat="server" ErrorMessage="Email format."
ControlToValidate="txtemail" ValidationGroup="comments" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Text
</HeaderTemplate>
<ItemTemplate>
<%#Eval("text") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox class="textbox" Rows="15" Columns="50" ID="txttext" runat="server" TextMode="MultiLine"
Text='<%#Eval("text") %>' />
<asp:RequiredFieldValidator ID="rfvText" runat="server" ControlToValidate="txttext"
ValidationGroup="comments" ErrorMessage="Text empty.">*</asp:RequiredFieldValidator>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Date
</HeaderTemplate>
<ItemTemplate>
<%#Eval("date") %>
</ItemTemplate>
<EditItemTemplate>
Time:
<asp:TextBox class="textbox" ID="txtTime" runat="server" Text='<%# Convert.ToDateTime(Eval("date").ToString()).ToShortTimeString() %>' /><br />
Date:
<asp:TextBox class="textbox" ID="txtDate" runat="server" Text='<%# Convert.ToDateTime(Eval("date").ToString()).ToShortDateString() %>' />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Path
</HeaderTemplate>
<ItemTemplate>
<%#Eval("path") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox class="textbox" ID="txtpath" runat="server" Text='<%#Eval("path") %>' />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Approve
</HeaderTemplate>
<ItemTemplate>
<%#Eval("approve") %>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="drpApprove" runat="server">
<asp:ListItem Value="true">True</asp:ListItem>
<asp:ListItem Value="false">False</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Button class="button" ID="btnEdit" runat="server" CommandName="Edit" Text="Düzenle" />
<asp:Button class="button" ID="btnDelete" runat="server" CommandName="Delete" Text="Sil"
OnClientClick="javascript:return confirm('Silmek istediğinizden eminmisiniz?')" />
</ItemTemplate>
<EditItemTemplate>
<asp:Button class="button" ValidationGroup="comments" ID="btnUpdate" runat="server"
CommandName="Update" Text="Güncelle" />
<asp:Button class="button" ID="btnCancel" runat="server" CommandName="Cancel" Text="İptal" />
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<hr style="height: 15; text-align: left; color: #FF0000; width: 100%" />
<div>
<table>
<tr>
<td colspan="2" align="center">
<strong>NEW</strong>
</td>
</tr>
<tr>
<td>
<strong>Author :</strong>
</td>
<td>
<asp:TextBox class="textbox" ID="txtNewAuthor" runat="server" />
<asp:RequiredFieldValidator ID="rfvNewAuthor" runat="server" ControlToValidate="txtNewAuthor"
ValidationGroup="new" ErrorMessage="Author empty.">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<strong>Email :</strong>
</td>
<td>
<asp:TextBox class="textbox" ID="txtNewEmail" runat="server" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtNewEmail"
ValidationGroup="new" ErrorMessage="Email empty.">*</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="revEmail" runat="server" ErrorMessage="Email format."
ControlToValidate="txtNewEmail" ValidationGroup="new" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">*</asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td>
<strong>Text :</strong>
</td>
<td>
<asp:TextBox class="textbox" ID="txtNewText" Rows="15" Columns="50" runat="server"
TextMode="MultiLine" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtNewText"
ValidationGroup="new" ErrorMessage="Text empty.">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<strong>Date :</strong>
</td>
<td>
<asp:TextBox class="textbox" ID="txtNewDate" runat="server" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtNewDate"
ValidationGroup="new" ErrorMessage="Date empty.">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<strong>Path :</strong>
</td>
<td>
<asp:TextBox class="textbox" ID="txtNewPath" runat="server" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txtNewPath"
ValidationGroup="new" ErrorMessage="Path empty.">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<strong>Approve :</strong>
</td>
<td>
<asp:DropDownList ID="drpApprove" runat="server">
<asp:ListItem Value="true">True</asp:ListItem>
<asp:ListItem Value="false">False</asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="txtNewPath"
ValidationGroup="new" ErrorMessage="Path empty.">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td colspan="2">
<asp:Button class="button" ValidationGroup="new" ID="btnAddComment" runat="server"
Text="Kaydet" OnClick="btnAddComment_Click" />
</td>
</tr>
</table>
</div>
Code Behind kısmı
void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack)
{
GetData();
}
}
void GetData()
{
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("tempcomments.xml"));
gvitems.DataSource = ds;
gvitems.DataBind();
} protected void Editdata(object s, GridViewEditEventArgs e)
{
gvitems.EditIndex = e.NewEditIndex;
GetData();
}
protected void Deletedata(object s, GridViewDeleteEventArgs e)
{
GetData();
DataSet ds = gvitems.DataSource as DataSet;
ds.Tables[0].Rows[gvitems.Rows[e.RowIndex].DataItemIndex].Delete();
ds.WriteXml(Server.MapPath("tempcomments.xml"));
GetData();
}
protected void Canceldata(object s, GridViewCancelEditEventArgs e)
{
gvitems.EditIndex = -1;
GetData();
}
protected void Updatedata(object s, GridViewUpdateEventArgs e)
{
int i = e.RowIndex;
string author = (gvitems.Rows[e.RowIndex].FindControl("txtauthor") as TextBox).Text;
string email = (gvitems.Rows[e.RowIndex].FindControl("txtemail") as TextBox).Text;
string text = (gvitems.Rows[e.RowIndex].FindControl("txttext") as TextBox).Text;
string date = (gvitems.Rows[e.RowIndex].FindControl("txtdate") as TextBox).Text;
string path = (gvitems.Rows[e.RowIndex].FindControl("txtpath") as TextBox).Text;
string approve = (gvitems.Rows[e.RowIndex].FindControl("drpApprove") as DropDownList).SelectedValue;
gvitems.EditIndex = -1;
GetData();
DataSet ds = (DataSet)gvitems.DataSource;
ds.Tables[0].Rows[i]["author"] = author;
ds.Tables[0].Rows[i]["email"] = email;
ds.Tables[0].Rows[i]["text"] = text;
ds.Tables[0].Rows[i]["date"] = date;
ds.Tables[0].Rows[i]["path"] = path;
ds.Tables[0].Rows[i]["approve"] = approve;
ds.WriteXml(Server.MapPath("tempcomments.xml"));
GetData();
}
protected void pageddata(object s, GridViewPageEventArgs e)
{
gvitems.PageIndex = e.NewPageIndex;
GetData();
}
protected void btnAddComment_Click(object sender, EventArgs e)
{
GetData();
DataSet ds = gvitems.DataSource as DataSet;
DataRow dr = ds.Tables[0].NewRow();
dr["author"] = txtNewAuthor.Text;
dr["email"] = txtNewEmail.Text;
dr["text"] = txtNewText.Text;
dr["date"] = txtNewDate.Text;
dr["path"] = txtNewPath.Text;
dr["approve"] = txtNewPath.Text;
ds.Tables[0].Rows.Add(dr);
ds.AcceptChanges();
ds.WriteXml(Server.MapPath("tempcomments.xml"));
GetData();
txtNewAuthor.Text = string.Empty;
txtNewEmail.Text = string.Empty;
txtNewText.Text = string.Empty;
txtNewDate.Text = string.Empty;
txtNewPath.Text = string.Empty;
}
protected void gvitems_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowIndex == gvitems.EditIndex)
{
DataRowView dr;
dr = (DataRowView)e.Row.DataItem;
DropDownList drpApprove = e.Row.FindControl("drpApprove") as DropDownList;
drpApprove.SelectedValue = dr["approve"].ToString();
}
(e.Row.FindControl("lblRowNumber") as Label).Text = (e.Row.RowIndex + 1 + (gvitems.PageIndex * 10)).ToString();
}
}