Bueno una de las cosas por las que preguntaba - el Seleccionar ó Deseleccionar la fila del GridView elegida - ya he conseguido que funcione. Puede que no sea la mejor forma de hacerlo.
Si alguien sabe como hacerlo de una mejor forma, lo puede mencionar en otra respuesta.
Lo que he hecho para que cada vez que hago clic en ImageButton es poner una variable de sesión, con valor inicial de -1 cuando se entra por primera vez en la página, en la que se almacena el valor del
SelectedIndex del GridView.
Esto se hace dentro de la función del evento
SelectedIndexChanged del GridView.
Bueno este es el código, por ahora:
archivo.aspx.cs
Código:
protected void Page_Load(object sender, EventArgs e)
{
...
if (!Page.IsPostBack)
{
...
//VALORES INICIALES DE SELECCIÓN
Session["indice_selecc"] = -1;
...
}
}
...
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
if ((Session["indice_selecc"]).ToString() == (GridView1.SelectedIndex).ToString())
{
GridView1.SelectedIndex = -1;
Session["indice_selecc"] = -1;
}
else
{
Session["indice_selecc"] = GridView1.SelectedIndex;
}
}
...
archivo.aspx
Código:
<asp:GridView ID="GridView1" ... OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
<asp:TemplateField HeaderText="Elegir">
<ItemTemplate>
<asp:ImageButton ID="Selecc_Regis" runat="server" CommandName="Select" ImageUrl="~/images/fila_a_elegir.gif" Width="16" Height="16" BorderWidth="0" ToolTip="Seleccionar" />
</ItemTemplate>
</asp:TemplateField>
</asp:GridView>
Ahora me falta la otra parte de mi pregunta: ¿Cómo cambiar la imagen del ImageButton ó restaurarla cada vez que hago la acción de seleccionar ó deseleccionar?
Y a lo dicho; si hay alguna manera mejor de hacer lo explicado en esta respuesta, espero me lo comuniquen...