Solved

Adding delete link for multiple item in a cell in Repeater control

Posted on 2008-10-24
3
838 Views
Last Modified: 2012-05-05
Hi,

I have a repeater control with following headings with sample data.

GroupName  Add Subject   SubjectName
----------------------------------------------------
Group1      Add Subject             subject1
                   Subject2
                   Subject3




When User Clicks on "Add Subject" I get the subject from the database for the group name and shows that in
SubjectName column.

Now I want to add delete functionality for the subject. So how can I add delete functionality in my code behind code.

Here is sample data.

GroupName  Add Subject   SubjectName
----------------------------------------------------
Group1      Add Subject             subject1         Delete
                   Subject2         Delete      
                   Subject3         Delete

Group2      Add Subject             subject4         Delete
                   Subject5         Delete
                   Subject6         Delete


Here is my sample code for adding subject when user clicks "AddSubject".




Please help me with this.





------------------------------------------------------------------------------------------------------------
 
   protected void Repeater1_ItemCommand(object source, DataListCommandEventArgs e)
    {
        int rowIndex = e.Item.ItemIndex;
        HiddenField hfSelectedEventName = (HiddenField)((DataList)source).Items[rowIndex].FindControl("hfSelectedEventName");
        HiddenField hfSelectedEventId = (HiddenField)((DataList)source).Items[rowIndex].FindControl("hfSelectedEventId");
       
       if (e.CommandName == "btnAdd")  // btnAdd is a link button in my repeater control
       {
            ((Panel)((DataList)source).Items[rowIndex].FindControl("PanelEvents")).Visible = false;
            ((Literal)((DataList)source).Items[rowIndex].FindControl("literalSelectedEvent")).Visible= true;
            CheckBoxList cblEvents = (CheckBoxList)((DataList)source).Items[rowIndex].FindControl("cblEvents");
            
     
            Literal literalSelectedEvent = (Literal)((DataList)source).Items[rowIndex].FindControl("literalSelectedEvent");
            TextBox txtNewEvent = (TextBox)((DataList)source).Items[rowIndex].FindControl("txtNewEvent");   
            StringBuilder strEventData=new StringBuilder();
            string strSelectedEvents = string.Empty;
            string strSelecedEventIds = string.Empty;
            int i=1;
          foreach (ListItem subject in cblEvents.Items)
           {
                 
               if (item.Selected)
               {
                   if (!hfSelectedEventName.Value.Contains(subject.Text))//check for edit mode
                   {
                       strSelectedEvents += subject.Text + ",";
                       strSelecedEventIds += subject.Value + ",";
                       strEventData.Append("<div>" + subject.Text + "</div>");  // I want to add "delete" link here.
                         
                       i++;
                   }
               }
 
              
           }
          if (strSelectedEvents.Length > 1)
          {
              strSelectedEvents = strSelectedEvents.Substring(0, strSelectedEvents.Length - 1);
              strSelecedEventIds = strSelecedEventIds.Substring(0, strSelecedEventIds.Length - 1);
          }
 
          if (txtNewEvent.Text != string.Empty)
          {
           strSelectedEvents+=","+txtNewEvent.Text;
           strSelecedEventIds += ",0";
           strEventData.Append("<div>" + txtNewEvent.Text + "</div>");
               
                      
              txtNewEvent.ReadOnly=true;
          }
          if (strSelectedEvents != string.Empty)
          {
              hfSelectedEventName.Value = strSelectedEvents;
              hfSelectedEventId.Value = strSelecedEventIds;
              literalSelectedEvent.Text += strEventData.ToString();
          }
           
       }
   }
 
-----------------------------------------------------------------------------------------------------------------------------

Open in new window

0
Comment
Question by:r_pat72
3 Comments
 
LVL 16

Accepted Solution

by:
Gyanendra Singh earned 500 total points
ID: 22802024
use this
<ItemTemplate>
        <div style="float:left; padding:10px; text-align:center;">
           <asp:HyperLink OnClientClick="return confirm('Are you sure?');" ID="DeleteLink" runat="server" NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "ImageId","yourpage.aspx?PropertyId="+Request.QueryString("yourID")") %>'  >Delete</asp:HyperLink>
        </div>
        </ItemTemplate>
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
These days, all we hear about hacktivists took down so and so websites and retrieved thousands of user’s data. One of the techniques to get unauthorized access to database is by performing SQL injection. This article is quite lengthy which gives bas…
This video teaches viewers how to create their own website using cPanel and Wordpress. Tutorial walks users through how to set up their own domain name from tools like Domain Registrar, Hosting Account, and Wordpress. More specifically, the order in…
This video teaches users how to migrate an existing Wordpress website to a new domain.

832 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question