Ver Mensaje Individual
  #6 (permalink)  
Antiguo 24/10/2003, 10:52
Albertron
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 22 años, 2 meses
Puntos: 0
A ver si consigo explicarme porque lo que quiero hacer creo que es un poco complicado:

Voy a suponer que sabes SQL (espero que si). Lo que quiero hacer es el mantenimiento de una relación M a N.

Imagina que tengo una tabla con modelos de coche (Audi A3, Ford Mondeo, ...) y otra con equipamientos de coches (Llantas de aleación, aire acondicionado). Lo que quiero hacer es un formulario donde pueda asignar el equipamiento a un modelo de coche.

Pasando como parámetro el modelo del coche, tengo un Datagrid, y cada fila o registro del DataGrid consta de:

- Un checkbox cuya etiqueta es el nombre del equipamiento que quiero asignar a ese modelo de coche
- Un textbox que es un campo de observaciones

El funcionamiento del formulario es el siguiente. Yo voy marcando checkboxes y añadiendo las observaciones y cuando le doy a un botón de guardar, tengo que guardar en la tabla de la relación M a N, los registros del DataGrid que tengan el checkbox activado.

Hasta aquí bien?

Ahora, el "problema" lo tengo cuando entro en el formulario con un modelo que ya tiene asignado algún equipamiento, porque me tiene que aparecer el checkbox del equipamiento marcado.

He intentado probando lo siguiente:

<asp:DataGrid ... OnItemDataBound="pr_activar_checks">
<columns>
<asp:TemplateColumn HeaderText="Característica">
<ItemTemplate>
<asp:CheckBox Runat=server Text='<%# Container.DataItem("caracteristica") %> '>
</asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Ubicación">
<ItemTemplate>
<asp:textbox ID="txtAddress" Runat=server text='<%# Container.DataItem("ubicacion") %>'>
</asp:textbox>
</ItemTemplate>
</asp:TemplateColumn>
</columns>
</asp:DataGrid>


La idea, lo que no se hacer y no se si se puede o no, es que desde la función que llamo con el OnItemDataBound, pueda acceder a la propiedad Text del Textbox del DataGrid y, si me recupera texto, entonces haría esto:

If (texto_que_recupero de e.Item.Cells(2) <> nulo) Then
Dim cBox as checkBox
cBox.Checked = True
e.Item.Cells(0).Controls.Add(cBox)
End If

Entiendes la idea?

Gracias y saludos