Avatar billede TV47 Seniormester
08. juli 2019 - 21:47 Der er 5 kommentarer og
2 løsninger

Gridview og styring af kolonnebredde

Hej.

Jeg har programmeret et gridview med asb kode.

Automatik er slået fra, jeg har selv lavet de forskellige kolonner i gridview.

Det er ikke Boundfields, men Templatefields jeg bruger.

Mit problem er så, at gridview bliver for bredt til at kunne være på skærmen, så jeg ønsker at gøre visse kolonner smallere.

Altså jeg ønsker at kunne styre bredde på de enkelte kolonner.''

Jeg har prøvet alt muligt med ItemStyle-Width="30px" og lignende forskellige steder i koden, men det virker ikke.

Nogen der kan hjælpe?
Avatar billede SommerFyr Seniormester
24. juli 2019 - 01:27 #1
Prøve at smide lidt kode så man kan se lidt på din kode
Avatar billede TV47 Seniormester
29. juli 2019 - 12:12 #2
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Kladdeliste.aspx.cs" Inherits="WebApplication2.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <title></title>
    <style type="text/css">
        #Top
        {
            background-color:black;
            height:50px;
            color:white;
            text-align:center;
            padding:6px;
        }   
        #Venstre
        {
            line-height:40px;
            background-color:red;
            height:500px;
            width:100px;
            float:left;
            padding:5px;
        }   
        #Højre
        {           
            width:350px;
            float:left;
            padding:10px;
        }   
    </style>
</head>
<body>
    <form id="form1" runat="server">
        <div id="Top">

        </div>

        <div id="Venstre">
           
        </div>

        <div id="Højre">       
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" ShowFooter="True" DataKeyNames="Linie" ShowHeaderWhenEmpty="True"
                       
            OnRowCommand="GridView1_RowCommand" OnRowEditing="GridView1_RowEditing" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowUpdating="GridView1_RowUpdating" OnRowDeleting="GridView1_RowDeleting"                                                         

            BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3">
                     
            <%-- Theme properties --%>   
            <FooterStyle BackColor="White" ForeColor="#000066" />
            <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
            <RowStyle ForeColor="#000066" />
            <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
            <SortedAscendingCellStyle BackColor="#F1F1F1" />
            <SortedAscendingHeaderStyle BackColor="#007DBB" />
            <SortedDescendingCellStyle BackColor="#CAC9C9" />
            <SortedDescendingHeaderStyle BackColor="#00547E" />                             
        <Columns>
            <asp:Templatefield HeaderText="Dato" >
                    <ItemTemplate>
                        <asp:Label Text='<%# Eval("Dato") %>' runat="server"/>
                    </ItemTemplate>                   
                    <EditItemTemplate>
                        <asp:TextBox ID="txtDato" Text= '<%# Convert.ToDateTime(Eval("Dato")).ToString("yyyy/MM/dd") %>' runat="server" />   
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox ID="txtDatoFooter" runat="server" />
                    </FooterTemplate>                     
            </asp:Templatefield>       
            <asp:Templatefield>
                    <ItemTemplate>
                        <asp:ImageButton ImageUrl="/Images/Edit.png" runat="server" CommandName="Edit" ToolTip="Rediger" Width="20px" Height="20px" />
                        <asp:ImageButton ImageUrl="/Images/Delete.png" runat="server" CommandName="Delete" ToolTip="Slet" Width="20px" Height="20px" />
                    </ItemTemplate>
                    <EditItemTemplate>
                        <asp:ImageButton ImageUrl="/Images/Save.png" runat="server" CommandName="Update" ToolTip="Gem" Width="20px" Height="20px" />
                        <asp:ImageButton ImageUrl="/Images/Cancel.png" runat="server" CommandName="Cancel" ToolTip="Fortryd" Width="20px" Height="20px" />                     
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:ImageButton ImageUrl="/Images/Add.png" runat="server" CommandName="Tilføj" ToolTip="Tilføj" Width="20px" Height="20px" />                     
                    </FooterTemplate>
            </asp:Templatefield>                               
        </Columns>           
        </asp:GridView>
        </div>
    </form>
</body>
</html>
Avatar billede SommerFyr Seniormester
29. juli 2019 - 12:58 #3
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
                <Columns>
                                <asp:Templatefield HeaderText="Dato" ControlStyle-Width="80" >
                    <ItemTemplate>
                        <asp:Label ID="Label1" Text='<%# Convert.ToDateTime(Eval("Dato")).ToString("yyyy/MM/dd") %>' runat="server"/>
                    </ItemTemplate>                 
                    <EditItemTemplate>
                        <asp:TextBox ID="txtDato" Text= '<%# Convert.ToDateTime(Eval("Dato")).ToString("yyyy/MM/dd") %>' runat="server" /> 
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox ID="txtDatoFooter" runat="server" />
                    </FooterTemplate>                   
            </asp:Templatefield>
                </Columns>
            </asp:GridView>

Her kan du styre din Width
Avatar billede TV47 Seniormester
30. juli 2019 - 16:44 #4
Det var faktisk det samme forslag som jeg havde set andre steder som ikke løste sagen.

Jeg kom dog på sporet... hvis man også sætter bredden på foooter så indretter kolonnen sig.

Takker.
Avatar billede SommerFyr Seniormester
30. juli 2019 - 17:23 #5
Hvis det ikke var løsning må du da geren lige smide en løsning sådan at man kan se den !!!
Avatar billede TV47 Seniormester
30. juli 2019 - 18:13 #6
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
                <Columns>
                                <asp:Templatefield HeaderText="Dato" ControlStyle-Width="80" >
                    <ItemTemplate>
                        <asp:Label ID="Label1" Text='<%# Convert.ToDateTime(Eval("Dato")).ToString("yyyy/MM/dd") %>' runat="server"/>
                    </ItemTemplate>                 
                    <EditItemTemplate>
                        <asp:TextBox ID="txtDato" Text= '<%# Convert.ToDateTime(Eval("Dato")).ToString("yyyy/MM/dd") %>' runat="server" /> 
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox ID="txtDatoFooter" ControlStyle-Width="80 runat="server" />
                    </FooterTemplate>                   
            </asp:Templatefield>
                </Columns>
            </asp:GridView>
Avatar billede TV47 Seniormester
30. juli 2019 - 18:15 #7
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:Templatefield HeaderText="Dato" ControlStyle-Width="80" >
<ItemTemplate>
<asp:Label ID="Label1" Text='<%# Convert.ToDateTime(Eval("Dato")).ToString("yyyy/MM/dd") %>' runat="server"/>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtDato" Text= '<%# Convert.ToDateTime(Eval("Dato")).ToString("yyyy/MM/dd") %>' runat="server" />
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtDatoFooter" ControlStyle-Width="80" runat="server" /></FooterTemplate>
</asp:Templatefield>
</Columns>
</asp:GridView>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester