Foros del Web » Programación para mayores de 30 ;) » .NET »

Asociar campo de una consulta a CheckBox del GridView ..

Estas en el tema de Asociar campo de una consulta a CheckBox del GridView .. en el foro de .NET en Foros del Web. Como asocio el campo de una consulta sql a una columna del gridview que debe tener un checkbox¿¿¿¿ y una segunda pregunta....como recorro el gridview¿¿ ...
  #1 (permalink)  
Antiguo 24/09/2006, 11:07
Avatar de shumito  
Fecha de Ingreso: mayo-2006
Mensajes: 248
Antigüedad: 18 años, 10 meses
Puntos: 0
Asociar campo de una consulta a CheckBox del GridView ..

Como asocio el campo de una consulta sql a una columna del gridview que debe tener un checkbox¿¿¿¿
y una segunda pregunta....como recorro el gridview¿¿ necesito tomar todos los campos del gridview y meterla en una consulta insert

Muxas Gracias !
  #2 (permalink)  
Antiguo 26/09/2006, 09:16
 
Fecha de Ingreso: septiembre-2004
Mensajes: 217
Antigüedad: 20 años, 5 meses
Puntos: 0
ok

lo que yo hago es lo siguiente:

Declaro mi grid el cual contiene entre otros un check

<asp:datalist id="MySerie" runat="server" Width="100%">
<AlternatingItemStyle BackColor="#E7EEF5"></AlternatingItemStyle>
<ItemTemplate>
<TABLE cellSpacing="0" cellPadding="0" width="100%" border="0">
<TR>
<TD vAlign="top" align="center" width="1%">&nbsp;</TD>
<TD vAlign="top" align="left" width="97%">
<asp:Label id="titulo" runat="server">Label</asp:Label></TD>
<TD vAlign="top" align="right" width="2%">
<asp:CheckBox id="check" runat="server"></asp:CheckBox></TD>
</TR>
</TABLE>
</ItemTemplate>
</asp:datalist>



al iniciar se genera un query con la informacion, el else reace los eventos que fueron creados dinamicamente

private void Page_Load(object sender, System.EventArgs e)
{
if (this.Page.IsPostBack) {
MySerie.DataSource = CSql.RecuperaFilas(StrSql);
MySerie.DataBind();
}
else {
System.Web.UI.WebControls.CheckBox chk = new System.Web.UI.WebControls.CheckBox();
for (int i=0; i<MySerie.Items.Count; i++ ) {
chk = (System.Web.UI.WebControls.CheckBox) (MySerie.Items[i].FindControl("check"));
chk.CheckedChanged += new System.EventHandler(this.CheckBox1_CheckedChanged) ;
}
}
}

utilizamos el metodo ItemDataBound del grid para cargar y controlar la informacion que se pondra en el.

private void MyDataList_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
System.Data.Common.DbDataRecord registro = (System.Data.Common.DbDataRecord) (e.Item.DataItem);

System.Web.UI.WebControls.CheckBox chk = (System.Web.UI.WebControls.CheckBox) (e.Item.FindControl
("check"));

System.Web.UI.WebControls.Label titulo = (System.Web.UI.WebControls.Label) (e.Item.FindControl("titulo"));

titulo.Text = registro.GetValue(1).ToString().Trim();
titulo.CssClass = "txt_negro";
chk.Checked = (registro.GetValue(2).ToString()=="1");
chk.ToolTip = registro.GetValue(0).ToString();
chk.CheckedChanged += new System.EventHandler(this.CheckBox1_CheckedChanged) ;

chk.AutoPostBack = true;
}



Por supuesto hay que definir el metodo del evento


private void CheckBox1_CheckedChanged(object sender, System.EventArgs e)
{
bool bandera = false;
System.Web.UI.WebControls.CheckBox chk = (System.Web.UI.WebControls.CheckBox) (sender);

if (chk.Checked) {
bandera = Grabar(ViewState["ficha"].ToString(), chk.ToolTip);
else {
bandera = false;
}


Espero te pueda servir ...



Compartir el conocimiento es un acto de agradecimiento a todos aquellos que lo generaron.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:53.