Foros del Web » Programando para Internet » ASPX (.net) »

Obtener valor de textbox que esta dentro de gridview2 y este esta dentro de otro grid

Estas en el tema de Obtener valor de textbox que esta dentro de gridview2 y este esta dentro de otro grid en el foro de ASPX (.net) en Foros del Web. Que tal amigos quisiera que me ayudaran a resolver un problema que tengo con unos gridview. Bueno lo que quiero hacer es obtener el valor ...
  #1 (permalink)  
Antiguo 18/11/2011, 00:26
 
Fecha de Ingreso: febrero-2009
Mensajes: 2
Antigüedad: 15 años, 2 meses
Puntos: 0
Pregunta Obtener valor de textbox que esta dentro de gridview2 y este esta dentro de otro grid

Que tal amigos quisiera que me ayudaran a resolver un problema que tengo con unos gridview. Bueno lo que quiero hacer es obtener el valor de un textbox que esta dentro de un gridview y este gridview esta dentro de otro gridview algo como lo siguiente

gridviewpadre(gridviewhijo(textbox))

no se como obtener el valor del textbox solo he podido obtener el valor del textbox cuando solo esta dentro de un gridview pero cuando ese gridview esta dentro de otro gridview me marca error dice:

Referencia a objeto no establecida como instancia de un objeto.

por lo que yo creo que no esta obteniendo o encontrando el control, estoy utilizando el siguiente codigo para poder obtener su valor del textbox

GridView grid2 = new GridView();
TextBox textbox1 = new TextBox();

foreach (GridViewRow filagrid1 in GridView1.Rows)
{

grid2 = (GridView)(filagrid1.Cells[0].FindControl("GridView2"));

foreach (GridViewRow filagrid2 in ((GridView)grid2.FindControl("GridView2")).Rows)

{
textbox1=(TextBox)(filagrid2.Cells[3].FindControl("TextBox1"));
string valor = ((TextBox)textbox1.FindControl("TextBox1")).Text ;
}

}

espero que me puedan ayudar gracias cualquier comentario es bienvenido gracias otra vez
  #2 (permalink)  
Antiguo 18/11/2011, 09:39
Avatar de AWesker  
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 6 meses
Puntos: 27
Respuesta: Obtener valor de textbox que esta dentro de gridview2 y este esta dentro d

Pueden ser varias cosas:
  1. El GridView hijo no es encuentra en la celda [0]
  2. Estas buscando el valor antes de llenar el GridView
  3. Si estas usando DataTable debes hacer referencia también
  4. También cabe la posibilidad que estes buscando un textbox que no has creado (suena ridículo, pero puede darse)

Otra alternativa es que uses un evento propio del GridView (RowDataBound por ejemplo) de esta forma te ahorras el foreach (por supuesto que esto se descarta dependiendo de lo que querras hacer).

Y sería bueno que nos dijeras qué fuente de datos tienen los GridView (DataTable, DataSource, etc.).

Saludos...
  #3 (permalink)  
Antiguo 21/11/2011, 11:20
 
Fecha de Ingreso: febrero-2009
Mensajes: 2
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Obtener valor de textbox que esta dentro de gridview2 y este esta dentro d

Que tal amigo gracias por responder bueno estoy utilizando un sqlDatasource y el gridview hijo solo se encuentra en la celda 0 por que solo tengo un columna, el texbox lo meto en un templated del gridview hijo el codigo del los grid y el texbox es el siguiente


<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
CellPadding="4" DataSourceID="SqlDataSource3" ForeColor="#333333"
GridLines="None">
<RowStyle BackColor="#EFF3FB" />
<Columns>
<asp:TemplateField HeaderText="Area">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("NomArea") %>'></asp:Label>
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False"
CellPadding="4" DataKeyNames="IDProducto" DataSourceID="SqlDataSource1"
ForeColor="#333333" GridLines="None">
<RowStyle BackColor="#EFF3FB" />
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="IDProducto" HeaderText="IDProducto"
InsertVisible="False" ReadOnly="True" SortExpression="IDProducto" />
<asp:BoundField DataField="NombreProducto" HeaderText="NombreProducto"
SortExpression="NombreProducto" />
<asp:BoundField DataField="IDCategoria" HeaderText="IDCategoria"
SortExpression="IDCategoria" />
<asp:BoundField DataField="IDProveedor" HeaderText="IDProveedor"
SortExpression="IDProveedor" />
<asp:TemplateField HeaderText="Precio">
<ItemTemplate>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#2461BF" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="Data Source=local;Initial Catalog=Ventas;Integrated Security=True"
ProviderName="System.Data.SqlClient"
SelectCommand="SELECT [IDProducto], [NombreProducto], [IDCategoria], [IDProveedor] FROM [Alphabetical list of productos]">
</asp:SqlDataSource>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#2461BF" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>

espero me puedan ayudar gracias

Última edición por BANYUMEN; 22/11/2011 a las 06:21

Etiquetas: grid, gridview, textbox
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 14:06.