Necesitamos ayuda para solucionarlo.asp.net gridview checkbox selection
Tengo una vista de cuadrícula y dentro de la vista de cuadrícula tengo una casilla de verificación y después de hacer clic en la casilla de verificación, estoy haciendo un evento de devolución de datos y tratando de actualizar esta fila en particular solo en la base de datos.
Este es mi código de casilla de verificación gridview. ver el OnCheckedChanged.
<asp:TemplateField HeaderText="Sample">
<ItemTemplate>
<asp:CheckBox runat="server"
ID="chkSample"
Checked='<%# Bind("Sample") %>'
OnCheckedChanged="UpdateSupplyLed"
AutoPostBack="True">
</asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
Código:
protected void UpdateSupplyLed(object sender, EventArgs e)
{
foreach (GridViewRow di in SamplingGridView.Rows)
{
CheckBox chkBx = (CheckBox)di.FindControl("chkSample");
if (chkBx != null && chkBx.Checked)
{
//update database logic here.
}
}
}
El código anterior funciona bien, pero me está recibiendo todas las casillas de verificación que se comprueban irresepective de la que acabo de comprobar. No los quiero a todos.
¿Cómo puedo obtener el único valor de una fila que se acaba de comprobar. Es posible que algunas de las filas ya se hayan verificado porque el estado es verdadero para esos registros y no quiero actualizar esos registros.
¡Creo que tengo mi pregunta correcta!
Actualización: La respuesta es:
protected void UpdateSupplyLed(object sender, EventArgs e)
{
CheckBox chkSampleStatus = sender as CheckBox;
bool sample = chkSampleStatus.Checked;
GridViewRow row = chkSampleStatus.NamingContainer as GridViewRow;
TextBox txtId = row.FindControl("Id") as TextBox;
int id = Int32.Parse(txtId.Text);
}
Gracias por su respuesta. Pero necesito algunos otros valores de esa misma fila, así que ¿cómo puedo obtener el Id de la fila de esa fila de gridview en particular? para que pueda obtener Id del registro. – Supremestar
Luego recomiendo no encuadernar OnCheckChanged de la casilla de verificación, usar el OnRowCommand de GridViews, la fila se suministra en GridVieweCommandEventArgs –
HollyStyles, No tengo un campo de comando de selección en la vista Gridview para que el comando de la fila Gridview no se active. ¿Qué debería hacer mi amigo? Por favor ayuda. – Supremestar