I think code can do better idea than description. check the snippet.
protected void Button1_Click(object sender, EventArgs e)
{
//identifying button
Button gridBtn = (Button)sender;
//selecting grid row
GridViewRow gridRow = (GridViewRow)gridBtn.NamingContainer;
//setting Index
int selectedIndex = gridRow.DataItemIndex;
// Setting Selected Index of GridView1
GridView1.SelectedIndex = selectedIndex;
//firing selected Index changed if you need
//here I used to change color of selected rows
GridView1_SelectedIndexChanged(GridView1, EventArgs.Empty);
if (gridBtn != null)
{
//changing button text[/color]
if (gridBtn.Text == "DeSelect")
{ gridBtn.Text = "Select"; }
else
{ gridBtn.Text = "DeSelect"; }
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
int sIndex = GridView1.SelectedIndex;
if (GridView1.Rows[sIndex].BackColor == System.Drawing.Color.Red)
{
GridView1.Rows[sIndex].BackColor = System.Drawing.Color.White;
}
else
{
GridView1.Rows[sIndex].BackColor = System.Drawing.Color.Red;
}
}
ASPX section
I add One Button field as Template field. and add Button text as "Select". when you click on select button in GridView, the selected Row become Red color.
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource1">
<columns>
<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
<asp:BoundField DataField="Category" HeaderText="Category"
SortExpression="Category" />
<asp:BoundField DataField="Tags" HeaderText="Tags" SortExpression="Tags" />
<asp:TemplateField>
<itemtemplate>
<asp:Button ID="Button1" runat="server" Text="Select" onclick="Button1_Click" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Preview of Output
You can Select or Deselect GridView Rows.
Thank you for Reading this code snippet.
Feel Free to comment. if you have any doubts let me know.
1 comment:
impractical
Post a Comment