Zeki AKDOĞAN - Kişisel Web Sitesi Ana Sayfa | Fotoğraflarım | RSS RSS | İletişim

XML kullanarak gridview'de insert,update,delete işlemleri


 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();
}
}

Yazılım | 0 Yorum | 12.02.2010 02:58:02
Etiketler: asp.net XML gridview


YORUMLAR YORUM EKLE
Ana Sayfa | Fotoğraflarım | RSS | İletişim
Zeki AKDOĞAN 2009 © Hiçbir hakkı saklı değildir.