
| |||
Re: Rotar GridView Te lo pongo en pseudocodigo, pero seria algo así: Dim dsNew as dataset For i =0 to dsOld.row.count -1 For j=0 to dsOld.row(i).items.count -1 dsNew(i,j)=dsOld(j,i) next next Última edición por tunait; 26/02/2008 a las 02:34 Razón: remover firma |
| ||||
Re: Rotar GridView Lo quiero hacer en c#, no en Vb (lamento no haberlo indicado, culpa mia). Muchas gracias por responder pero ya tengo la solucion. No hace falta ni codigo ni nada. Un GridView es horizontal, pero el control DetailsView es exactamente igual, pero en vertical. Usando vs2005 lo unico que hay que hacer es usar ese control en lugar de el otro. Gracias por vuestras respuestas. |
| |||
Respuesta: Rotar GridView Me tomo el atrevimiento de responder luego de un año este post porque la solucion concreta no la he encontrado en este foro y es bueno que la tengamos ![]()
Código:
te lo dejo en Visual Basic tambien<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FlipGridView.aspx.cs" Inherits="XmlPostData" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server" ShowHeader="false" AllowSorting="true"> </asp:GridView> </div> </form> </body> </html> using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Net; using System.Text; using System.IO; public partial class FlipGridView:System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { GridView1.DataSource = FlipDataSet(c()); GridView1.DataBind(); } public DataSet c() { DataSet ds = new DataSet(); DataTable dt = new DataTable("Company"); DataRow dr; dt.Columns.Add(new DataColumn("accountNo", typeof(Int32))); dt.Columns.Add(new DataColumn("CompanyName", typeof(string))); dt.Columns.Add(new DataColumn("Address", typeof(string))); for (int i = 0; i <= 10; i++) { dr = dt.NewRow(); dr[0] = i; dr[1] = "Company" + i + Environment.NewLine + "Title" + i; dr[2] = "Address" + i + Environment.NewLine + "Title" + i; dt.Rows.Add(dr); } ds.Tables.Add(dt); return ds; } public DataSet FlipDataSet(DataSet my_DataSet) { DataSet ds = new DataSet(); foreach (DataTable dt in my_DataSet.Tables) { DataTable table = new DataTable(); for (int i = 0; i <= dt.Rows.Count; i++) { table.Columns.Add(Convert.ToString(i)); } DataRow r = null; for (int k = 0; k < dt.Columns.Count; k++) { r = table.NewRow(); r[0] = dt.Columns[k].ToString(); for (int j = 1; j <= dt.Rows.Count; j++) r[j] = dt.Rows[j - 1][k]; table.Rows.Add(r); } ds.Tables.Add(table); } return ds; } }
Código:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FlipGridView.aspx.cs" Inherits="XmlPostData" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server" ShowHeader="false" AllowSorting="true"> </asp:GridView> </div> </form> </body> </html> Imports System Imports System.Data Imports System.Configuration Imports System.Collections Imports System.Web Imports System.Web.Security Imports System.Web.UI Imports System.Web.UI.WebControls Imports System.Web.UI.WebControls.WebParts Imports System.Web.UI.HtmlControls Imports System.Net Imports System.Text Imports System.IO Public Class FlipGridView Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) GridView1.DataSource = FlipDataSet(c) GridView1.DataBind End Sub Public Function c() As DataSet Dim ds As DataSet = New DataSet Dim dt As DataTable = New DataTable("Company") Dim dr As DataRow dt.Columns.Add(New DataColumn("accountNo", GetType(Int32))) dt.Columns.Add(New DataColumn("CompanyName", GetType(System.String))) dt.Columns.Add(New DataColumn("Address", GetType(System.String))) Dim i As Integer = 0 Do While (i <= 10) dr = dt.NewRow dr(0) = i dr(1) = ("Company" _ + (i _ + (Environment.NewLine + ("Title" + i)))) dr(2) = ("Address" _ + (i _ + (Environment.NewLine + ("Title" + i)))) dt.Rows.Add(dr) i = (i + 1) Loop ds.Tables.Add(dt) Return ds End Function Public Function FlipDataSet(ByVal my_DataSet As DataSet) As DataSet Dim ds As DataSet = New DataSet For Each dt As DataTable In my_DataSet.Tables Dim table As DataTable = New DataTable Dim i As Integer = 0 Do While (i <= dt.Rows.Count) table.Columns.Add(Convert.ToString(i)) i = (i + 1) Loop Dim r As DataRow = Nothing Dim k As Integer = 0 Do While (k < dt.Columns.Count) r = table.NewRow r(0) = dt.Columns(k).ToString Dim j As Integer = 1 Do While (j <= dt.Rows.Count) r(j) = dt.Rows((j - 1))(k) j = (j + 1) Loop table.Rows.Add(r) k = (k + 1) Loop ds.Tables.Add(table) Next Return ds End Function End Class |
| |||
Respuesta: Rotar GridView hola que tal yo tengo la misma duda .... me gustaria hacer tablas cruzadas de articulos x almacen y en el medio que esten los montos segun la combinacion de estas 2 como se ha creado ese datatable("company") en mi caso yo llamo a un select num_stoc,cod_articulo,cod_almacen from stock_almacen esos son los campos que uso ... y quiero combinar articulo x almacen x favor ayuda que es urgentisimo |