r_pat72
asked on
Adding delete link for multiple item in a cell in Repeater control
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.
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();
}
}
}
-----------------------------------------------------------------------------------------------------------------------------
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.