ASP.NET - GridView y SQLDataSourde

 
Vista:

GridView y SQLDataSourde

Publicado por Angeles (6 intervenciones) el 25/01/2011 09:07:22
Buenos días, soy nueva en asp, pensaba que iba a ser más fácil, pero me estoy encontrando con muchas dudas que no se resolver.
Os cuento lo que me pasa a ver si me podeis ayudar:

Tengo una tabla en la base de datos con varias columnas: id_nombre, dirección, teléfono, y descripción.

Para mostrar estos campos tengo un gridview, pero como el campo descripción suele tener bastantantes caracteres lo que quiero hacer es que éste no se muestre en el gridview pero sí en un textBox que tengo debajo de dicho grid.

Ahora mismo el campo descripción lo tengo dentro de la select del sqlDataSource, con lo cual me lo muestra en el grid, y de ahí lo paso al textBox haciendo:
txtDescripcion.Text = Convert.ToString(gvTerminadas.SelectedRow().Cells(4).Text)

Pero no se qué tengo que hacer para que no aparezca en el Grid!!! porque entoces, ¿no debe aparecer el campo en la select del sqldataSource?

Gracias a todos por vuestra ayuda!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:GridView y SQLDataSourde

Publicado por Sebastian Cruz (35 intervenciones) el 25/01/2011 13:24:13
Hola como estas, si lo unico que deseas es que no se vea la columna del gridview lo unico que debes hacer es lo siguiente
C#
GridView1.Columns[2].Visible = false;

VB
GridView1.Columns(2).Visible = False

donde gridview1 seria el nombre de tu grilla y en lugar del 2 tendrias que colocar el indice de la columna a ocultar.

Cabe aclarar que esto lo tendrias que poner una vez que termines de cargar tu grilla con el sqlDataSource
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de roger

RE:GridView y SQLDataSourde

Publicado por roger (311 intervenciones) el 25/01/2011 13:25:50
lo que puedes hacer es personalizar una o varias columnas de tu gridview, por ejemplo, podrias hacer que este campo del que hablas se visualice en un TextArea, que tiene su scroll para que se baje y se vea la descripcion completa del texto del campo, o inclusive podrias utilizar un Label, y ponerle solo los primeros 20 caracteres, y mostrarlo todo completo en un ToolTip. En fin, si quieres pones algo del codigo del archivo .aspx (el diseño de la pagina), y vemos de que manera se puede hacer, tomando en cuenta las dos alternativas que ya te dí.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:GridView y SQLDataSourde

Publicado por Hugin (3 intervenciones) el 25/01/2011 21:22:48
como ves en el codigo HTML de tu control grid solo asigna la propiedad visible=false para ocultar una columna.

en el ejemplo la columna descripcion no se mostrara.

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" Width="100%">
<Columns>
<asp:BoundField HeaderText="Id" DataField="IdActividad" >
<ItemStyle HorizontalAlign="Center" Width="5%" />
<HeaderStyle HorizontalAlign="Left"/>
</asp:BoundField>
<asp:BoundField HeaderText="Ticket" DataField="CodigoActividad" >
<ItemStyle HorizontalAlign="Left" Width="10%" />
<HeaderStyle HorizontalAlign="Left"/>
</asp:BoundField>
<asp:BoundField HeaderText="Descripcion" DataField="DescripcionActividad" visible="false" >
<ItemStyle HorizontalAlign="Left" Width="85%" />
<HeaderStyle HorizontalAlign="Left"/>
</asp:BoundField>
</Columns>
</asp:GridView>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:GridView y SQLDataSourde

Publicado por Angeles (6 intervenciones) el 25/01/2011 21:33:38
Esta solución es fácil pero parece que al ocultar la columna cuando selecciono la fila, y salta el evento gridView_SelectedIndexChanged y hago

txtDescripcion.Text = Convert.ToString(gvTerminadas.SelectedRow().Cells(4).Text)

el textBox me aparece en blanco.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:GridView y SQLDataSourde

Publicado por Hugin (3 intervenciones) el 26/01/2011 14:55:54
esta solucion la probe asi que deberia funcionar:

en el HTML, la columna que contiene la rescripcion

<asp:TemplateField visible="False" >
<ItemTemplate>
<asp:TextBox ID="txtDesc" runat="server" Width="150px" CssClass="textbox" Text='<%# DataBinder.Eval(Container, "DataItem.DescripcionActividad") %>' Visible="false" ></asp:TextBox>
</ItemTemplate>
<ItemStyle Width="0%" />
</asp:TemplateField>

en el evento selected index change:

Dim txt As TextBox = CType(Me.GridView1.SelectedRow.FindControl ("txtDesc"), TextBox)
Me.TextBox1.Text = txt.Text.Trim()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar