Asp.net repeater – group records or data – delete selected rows
Although there are many ways to do this, The easiest way is to use a repeater control.
Drop a repeater control and in the codebehind set the datasource and databind it.
Repeater1.DataSource = datasource; Repeater1.DataBind();
Then switch to source view and insert the following
<asp:Repeater ID="Repeater1" runat="server" onitemdatabound="Repeater1_ItemDataBound"> <HeaderTemplate><table></HeaderTemplate> <ItemTemplate> <%# this.RenderGroup(Eval("ticker_name") as string)%> <tr> <td> <%# DataBinder.Eval(Container.DataItem, "emp_id") %></td> <span style="color: #993300;"> <td> <%# DataBinder.Eval(Container.DataItem, "emp_name") %></td></span> <span style="color: #993300;"> <td> <%# DataBinder.Eval(Container.DataItem, "display_id") %></td></span> <span style="color: #993300;"> </span><span style="color: #993300;"></tr></ItemTemplate></span> <span style="color: #993300;"><FooterTemplate></table></FooterTemplate></span> <span style="color: #993300;"> </asp:Repeater></span>
Now in the code behind add this method
string lastGroup = string.Empty;
protected string RenderGroup(string Group)
{
if (Group == this.lastGroup)
return “”;
else
{
this.lastGroup = Group;
return “<tr class=’groupheader’><td colspan=4>” + Group + “</td></tr>”;
}
}
Run the application. All the records will be grouped
Now we will see how to delete selected items in the repeater
Add checkbox control to the repeater
<asp:Repeater ID=”Repeater1″ runat=”server”
onitemdatabound=”Repeater1_ItemDataBound”>
<HeaderTemplate><table></HeaderTemplate>
<ItemTemplate>
<%# this.RenderGroup(Eval(“ticker_name”) as string)%>
<tr>
<td> <%# DataBinder.Eval(Container.DataItem, “emp_id”) %></td>
<td> <%# DataBinder.Eval(Container.DataItem, “emp_name”) %></td>
<td> <%# DataBinder.Eval(Container.DataItem, “display_id”) %></td>
<td>
<asp:CheckBox ID=”CheckBox1″ runat=”server” internalid='<%# Eval(“emp_id”) %>’/></td>
</tr></ItemTemplate>
<FooterTemplate></table></FooterTemplate>
</asp:Repeater>
Add a button outside the repeater and in the button click event write this code
protected void Button2_Click(object sender, EventArgs e)
{
foreach (RepeaterItem dataItem in Repeater1.Items)
{
CheckBox chk = (CheckBox)dataItem.FindControl(“CheckBox1”);
if (chk.Checked == true)
{
int empid= Convert.ToInt32(chk.Attributes[“internalid”]);
//write the code to delete the rows here
}
}
}
Hello world!
Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!