rvlira 0 Denunciar post Postado Outubro 15, 2009 Pessoal, estou tentando dimensionar as colunas de um GridView mas não estou conseguindo. Eu tenho dois grids. Cada um dentro de uma "div" com o estilo de overflow configurado como "scroll" para que o grid não atrapalhe o layout da página. No primeiro grid, defini a largura para 733 pixels. Dessa forma, não é necessário rolar a div para visualizar os dados. Já o segundo grid (logo abaixo), possui uma coluna a mais que primeiro. Eu precisava fazer com que o tamanho das três primeiras colunas ficassem exatamente iguais aos do primeiro grid, de forma que a quarta coluna ficasse escondida, sendo necessário rolar a div para visualizar os dados. Essa tarefa de colocar o tamanho das colunas é que está complicada. Removi a largura definida desse segundo grid no Aspx e tentei especificar a largura das colunas com "<ItemStyle width="100px" />", com "<HeaderStyle width="100px" />", com uma combinação dos dois para cada coluna, mas no final não funciona. As três primeiras colunas não estão "empurrando" a quarta coluna para fora da visualização da div. Já tentei até mesmo especificar uma largura muito grande para o grid, mas dessa forma não consigo fazer as colunas ficarem do mesmo tamanho do grid que está acima. O código da página aspx é a seguinte: <div style="width:750px;height:201px;overflow:scroll;" > <asp:GridView ID="GridView1" runat="server" Width="733px" BackColor="White" BorderColor="#999999" BorderStyle="Solid" BorderWidth="1px" CellPadding="3" ForeColor="Black" GridLines="Vertical" AutoGenerateColumns="False" AllowPaging="True" AllowSorting="True" DataKeyNames="Id" PageSize="5" > <FooterStyle BackColor="#8F88B1" /> <PagerStyle BackColor="#999999" ForeColor="White" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="#52428B" Font-Bold="True" ForeColor="White" /> <HeaderStyle BackColor="#8F88B1" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="#EEEEEE" /> <PagerSettings Mode="NumericFirstLast" /> <Columns> <asp:CommandField ButtonType="Button" ShowSelectButton="True" Visible="False" /> <asp:BoundField DataField="Id" HeaderText="Id" Visible="False" /> <asp:BoundField HeaderText="Field1" DataField="Field1" > <ItemStyle Width="40%" /> </asp:BoundField> <asp:BoundField HeaderText="Field2" DataField="Field2" > <ItemStyle Width="40%" /> </asp:BoundField> <asp:BoundField HeaderText="Field3" DataField="Field3"> <ItemStyle Width="20%" /> </asp:BoundField> </Columns> </asp:GridView> </div> <br /><br /> <div style="width:750px;height:201px;overflow:scroll;" > <asp:GridView ID="GridView2" runat="server" BackColor="White" BorderColor="#999999" BorderStyle="Solid" BorderWidth="1px" CellPadding="3" ForeColor="Black" GridLines="Vertical" AutoGenerateColumns="False" AllowPaging="True" AllowSorting="True" DataKeyNames="Id" PageSize="5" > <FooterStyle BackColor="#8F88B1" /> <PagerStyle BackColor="#999999" ForeColor="White" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="#52428B" Font-Bold="True" ForeColor="White" /> <HeaderStyle BackColor="#8F88B1" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="#EEEEEE" /> <PagerSettings Mode="NumericFirstLast" /> <Columns> <asp:CommandField ButtonType="Button" ShowSelectButton="True" Visible="False" /> <asp:BoundField DataField="Id" HeaderText="Id" Visible="False" /> <asp:BoundField HeaderText="Field1" DataField="Field1" > <ItemStyle Width="287px" /> </asp:BoundField> <asp:BoundField HeaderText="Field2" DataField="Field2" > <ItemStyle Width="287px" /> </asp:BoundField> <asp:BoundField HeaderText="Field3" DataField="Field3"> <ItemStyle Width="150px" /> </asp:BoundField> <asp:BoundField HeaderText="Field4" DataField="Field4"> <ItemStyle Width="120px" /> </asp:BoundField> </Columns> </asp:GridView> </div> Fiz também o seguinte código para carregar dados aleatórios na grid: public class MyNewClass { private int _id; private string _field1; private string _field2; private string _field3; private string _field4; public int Id { get { return _id; } set { _id = value; } } public string Field1 { get { return _field1; } set { _field1 = value; } } public string Field2 { get { return _field2; } set { _field2 = value; } } public string Field3 { get { return _field3; } set { _field3 = value; } } public string Field4 { get { return _field4; } set { _field4 = value; } } } // protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { List<MyNewClass> list = new List<MyNewClass>(); MyNewClass item = new MyNewClass(); item.Id = 1; item.Field1 = "Value1"; item.Field2 = "Value2"; item.Field3 = "Value3"; item.Field4 = "Value4"; list.Add(item); list.Add(item); list.Add(item); list.Add(item); list.Add(item); list.Add(item); GridView1.DataSource = list; GridView2.DataSource = list; GridView1.DataBind(); GridView2.DataBind(); } } Agradeço por qualquer informação que possam me passar. Já estou há muito tempo tentando configurar essas grids. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Viniciuslrd 0 Denunciar post Postado Outubro 16, 2009 Iae cara td blza.. Você ja tento colocar o ItemStyle dentro da Tag BoundField? Ex. Ao invés de <asp:BoundField HeaderText="Field2" DataField="Field2" > <ItemStyle Width="40%" /> </asp:BoundField> colocar <asp:BoundField HeaderText="Field2" DataField="Field2" ItemStyle-Width="definir pixel" /> </asp:BoundField> Compartilhar este post Link para o post Compartilhar em outros sites