Click here to Skip to main content
16,018,158 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
i used data updation in repeater with edit,delete button....when i click edit the textbox will appear and i changed the textbox value...bt then i click the update button it takes the old textbox value....the new textbox value not taken..
Posted

1 solution

//aspx page code

XML
<div>
       <table width="100%" border="0" cellspacing="0" cellpadding="0">
           <tr>
               <td class="hdng_cbox bdr_lft">
                   Name
               </td>
               <td align="center" class="hdng_cbox01 bdr_lft">
                   Image
               </td>
               <td class="hdng_cbox bdr_lft ">
                   Category
               </td>
               <td class="hdng_cbox bdr_lft ">
                   GroupID
               </td>
               <td class="hdng_cbox bdr_lft ">
                   Credits
               </td>
               <td class="hdng_cbox ">
               </td>
           </tr>
           <tr>
               <asp:Repeater ID="cpRepeater" runat="server" OnItemCommand="cpRepeater_ItemCommand"
                   OnItemDataBound="cpRepeater_ItemDataBound">
                   <ItemTemplate>
                       <tr>
                           <td class="bdr_top para_cbox bdr_lft">
                               <asp:Label ID="lblID" Visible="false" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "ID") %>'></asp:Label>
                               <asp:Label ID="lblName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Name")%>'></asp:Label>
                               <asp:TextBox ID="txtName" BackColor="#d4d0c8" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Name")%>'
                                   Visible="false"></asp:TextBox>
                           </td>
                           <td align="center" class="bdr_lft bdr_top para_cbox ">
                               <img src="<%#Eval("thumbnail")%>" alt="" border="0" height="50" width="50" />
                           </td>
                           <td class="bdr_lft bdr_top para_cbox">
                               <asp:DropDownList ID="ddlType" runat="server">
                               </asp:DropDownList>
                           </td>
                           <td class="bdr_lft bdr_top para_cbox">
                               <asp:DropDownList ID="ddlgroup" runat="server">
                               </asp:DropDownList>
                           </td>
                           <td class="bdr_lft bdr_top para_cbox">
                               <asp:Label ID="lblcredit" runat="server" Text='<%# Eval("credit") %>'></asp:Label>
                               <asp:TextBox ID="txtcredit" BackColor="#d4d0c8" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "credit")%>'
                                   Visible="false"></asp:TextBox>
                           </td>
                           <td class="bdr_top para_cbox">
                               <asp:LinkButton ID="lnkEdit" runat="server" CommandName="edit" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ID") %>'>Edit</asp:LinkButton>
                               <asp:LinkButton Visible="false" ID="lnkUpdate" runat="server" CommandName="update"
                                   CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ID") %>'>Update</asp:LinkButton>
                               <asp:LinkButton Visible="false" ID="lnkCancel" runat="server" CommandName="cancel"
                                   CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ID") %>'>Cancel</asp:LinkButton>
                               <asp:LinkButton ID="lnkDelete" runat="server" CommandName="delete" OnClientClick='javascript:return confirm("Are you sure you want to delete?")'
                                   CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ID") %>'>Delete</asp:LinkButton>
                           </td>
                       </tr>
                   </ItemTemplate>
               </asp:Repeater>
           </tr>
       </table>
   </div>
   <div class="clear">
   </div>
   <div class="nextpages">
       <asp:Repeater ID="rptPages" runat="server" OnItemCommand="rptPages_ItemCommand">
           <ItemTemplate>
               <asp:LinkButton ID="btnPage" CommandName="Page" CommandArgument="<%#Container.DataItem %>"
                   runat="server"><%# Container.DataItem %> </asp:LinkButton>&nbsp;
           </ItemTemplate>
           <FooterTemplate>
           </FooterTemplate>
       </asp:Repeater>
   </div>








//C# code

C#
 public int PageNumber
    {
        get
        {
            if (ViewState["PageNumber"] != null)
                return Convert.ToInt32(ViewState["PageNumber"]);
            else
                return 0;
        }
        set
        {
            ViewState["PageNumber"] = value;
        }
    }
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        rptPages.ItemCommand += new RepeaterCommandEventHandler(rptPages_ItemCommand);

    }

    protected void rptPages_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        PageNumber = Convert.ToInt32(e.CommandArgument) - 1;
        gridview();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            string log = Session["login"].ToString();
            if (log == "")
            {
                Response.Redirect("login.aspx");
            }
            else
            {
                  if (!IsPostBack)
                  {
                gridview();
                  }
            }

        }
        catch (Exception jj2)
        {
            Response.Redirect("login.aspx");
        }
    }
    public void gridview()
    {
      
            try
            {

                string sql = "select ID,name,thumbnail,Credit,Category,GroupID from images order by ID desc";
                DataTable dt = DataBaseX.ReadTable(sql);
                PagedDataSource pgitems = new PagedDataSource();
                DataView dv = new DataView(dt);
                pgitems.DataSource = dv;
                pgitems.AllowPaging = true;
                pgitems.PageSize = 6;
                pgitems.CurrentPageIndex = PageNumber;
                if (pgitems.PageCount > 1)
                {
                    rptPages.Visible = true;
                    ArrayList pages = new ArrayList();
                    for (int i = 0; i < pgitems.PageCount; i++)
                        pages.Add((i + 1).ToString());
                    rptPages.DataSource = pages;
                    rptPages.DataBind();
                }
                else
                    rptPages.Visible = false;
                cpRepeater.DataSource = pgitems;
                cpRepeater.DataBind();
            }
            catch (Exception hgh2)
            {
            }
        }
    
    protected void cpRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        try
        {
             DropDownList ddlType = (DropDownList)e.Item.FindControl("ddlType");
             if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
             {
                 string sql = string.Format("select CatName from categories");
                 DataTable dt = DataBaseX.ReadTable(sql);
                 ddlType.DataTextField = "CatName";
                 ddlType.DataSource = dt;
                 ddlType.DataBind();
                 ddlType.SelectedValue = DataBinder.Eval(e.Item.DataItem, "Category").ToString();
             }
             DropDownList ddlgroup = (DropDownList)e.Item.FindControl("ddlgroup");
             if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
             {
                // string sql = string.Format("SELECT distinct i.groupid,g.name from images i,imagegroup g WHERE i.groupid=g.id");
                 string sql1 = string.Format("select ID from imagegroup");
                 DataTable dt1 = DataBaseX.ReadTable(sql1);
                 ddlgroup.DataTextField = "ID";
                 ddlgroup.DataSource = dt1;
                 ddlgroup.DataBind();
                 ddlgroup.SelectedValue = DataBinder.Eval(e.Item.DataItem, "GroupID").ToString();
             }
        }
        catch (Exception nhbv3)
        {
        }
    }
    protected void cpRepeater_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        try
        {
            if (e.CommandName == "edit")
            {
                e.Item.FindControl("lblName").Visible = false;
                e.Item.FindControl("lnkEdit").Visible = false;
                e.Item.FindControl("txtName").Visible = true;
                e.Item.FindControl("lblcredit").Visible = false;
                e.Item.FindControl("txtcredit").Visible = true;
                e.Item.FindControl("lnkUpdate").Visible = true;
                e.Item.FindControl("lnkCancel").Visible = true;
            }
            if (e.CommandName == "update")
            {
                
                    int imgid = Convert.ToInt32(((Label)e.Item.FindControl("lblID")).Text);
                    string name = ((TextBox)e.Item.FindControl("txtName")).Text;
                    int credit = Convert.ToInt32(((TextBox)e.Item.FindControl("txtcredit")).Text);
                    string category =((DropDownList)e.Item.FindControl("ddlType")).SelectedValue;
                    string sql = string.Format("update images set name='" + name + "' where ID=" + imgid);
                    DataBaseX.Execute(sql);
                    e.Item.FindControl("lblName").Visible = true;
                    e.Item.FindControl("lnkEdit").Visible = true;
                    e.Item.FindControl("txtName").Visible = false;
                    e.Item.FindControl("lblcredit").Visible = true;
                    e.Item.FindControl("txtcredit").Visible = false;
                    e.Item.FindControl("lnkUpdate").Visible = false;
                    e.Item.FindControl("lnkCancel").Visible = false;
                    gridview();

            }
            if (e.CommandName == "cancel")
            {
                e.Item.FindControl("lblName").Visible = true;
                e.Item.FindControl("lnkEdit").Visible = true;
                e.Item.FindControl("txtName").Visible = false;
                e.Item.FindControl("lblcredit").Visible = true;
                e.Item.FindControl("txtcredit").Visible = false;
                e.Item.FindControl("lnkUpdate").Visible = false;
                e.Item.FindControl("lnkCancel").Visible = false;
            }
            if (e.CommandName == "delete")
            {
                int sno = Convert.ToInt32(((Label)e.Item.FindControl("lblID")).Text);
                string sql = string.Format("delete from images where ID=" + sno);
                DataBaseX.Execute(sql);
                gridview();
            }
        }
        catch (Exception hbh2)
        {
        }
    }
}
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900