Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Dust_79
    Registrato dal
    Mar 2001
    Messaggi
    696

    Datagrid e colonne in edit

    come faccio ad evitare che in modalità edit mi si deformi il datagrid??
    insomma vorrei impostare la larghezza delle colonne in modo che sia fissa anche in modalità edit

    ps chi sa questa è un mito
    PAZZIA PAZZIA
    PORTAMI VIA!

  2. #2
    Scusa ma oggi non sto molto in forma, se mi mandi del codice di esempio posso darti una mano.

  3. #3
    Utente di HTML.it L'avatar di ciupaz
    Registrato dal
    Dec 2000
    residenza
    Milano
    Messaggi
    848
    Prova a specificare la larghezza della colonna nelle sue proprietà.
    Ad esempio del tipo:


    <EditItemTemplate>

    <asp:TextBox id="txtStartDate" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.StartDate", "{0:yyyy-MM-dd}") %>' Columns="10"/>

    </EditItemTemplate>

  4. #4
    Utente di HTML.it L'avatar di ciupaz
    Registrato dal
    Dec 2000
    residenza
    Milano
    Messaggi
    848
    Il punto è che quando passi in Edit Mode la tua griglia utilizza l'EditItemStyle invece del classico ItemStyle che viene visualizzato in fase di esecuzione.
    Se non crei esplicitamente un EditItemStyle, VS ne crea uno di default che spesso come hai notato tu allarga le colonne della tua griglia per ospitare le TextBox di editazione.
    Quindi, la soluzione al tuo problema è quello di specificare correttamente nella pagina aspx tutti i dettagli dello style di editazione.
    Trovi nell'help in linea tutti i dettagli.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    Ciupaz potresti spiegarmi meglio come fare, sono 2 ore che ci provo senza risultati....

    Ecco il mio DataGrid:

    codice:
    <ASP:Datagrid ID="DtgDatiUtente" Runat="server"
    Width="98%"
    AutoGenerateColumns="False"
    OnEditCommand="DtgDatiUtente_Edit"
    OnCancelCommand="DtgDatiUtente_Cancel"
    OnUpDateCommand="DtgDatiUtente_Update"
    BorderColor="black"
    BorderWidth="1"
    CellPadding="3"
    HeaderStyle-BackColor="#3399CC"
    HeaderStyle-ForeColor="#FFFFFF"
    >
    
    <EditItemStyle BackColor="#CCCCCC">
    </EditItemStyle>
    
    <Columns>
    
    <ASP:BoundColumn HeaderText="Username" ReadOnly="True" DataField="Username" ItemStyle-Width="25%"/>
    
    <ASP:BoundColumn HeaderText="Password" DataField="Passwordx" ItemStyle-Width="25%"/>
    
    <ASP:BoundColumn HeaderText="Email" DataField="Email" ItemStyle-Width="25%"/>
    
    <ASP:EditCommandColumn
    EditText="Cambia"
    CancelText="Annulla"
    UpdateText="Salva"
    HeaderText="Modifica"
    ItemStyle-Width="25%"
    ItemStyle-ForeColor="#FF3300"/>
    
    </Columns>
    
    </ASP:DataGrid>
    Le boundcolumn 2 e 3 sono quelle in cui devo bloccare la larghezza.

    Hey hey, my my Rock and roll can never die!

  6. #6
    Utente di HTML.it L'avatar di Dust_79
    Registrato dal
    Mar 2001
    Messaggi
    696
    ehi! avete rispolverato un mio vecchio messaggio!!!

    Dunque zampa dei dichiarare le colonne non come 'BoundColumn' ma come 'TemplateColumn'.

    Un esempio:
    <Columns>

    <asp:TemplateColumn HeaderText="Descrizione">

    <ItemTemplate>

    <asp:Label id="Label1" Text='<%# DataBinder.Eval(Container.DataItem,"descrizione") %>' Width="400px" Height="10px" runat="server">

    </asp:Label>

    </ItemTemplate>

    <EditItemTemplate>

    <asp:TextBox Text='<%# DataBinder.Eval(Container.DataItem,"descrizione") %>' id="descrizione" Width="400px" Runat="server">

    </asp:TextBox>

    </EditItemTemplate>

    </asp:TemplateColumn>
    PAZZIA PAZZIA
    PORTAMI VIA!

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    UFF...

    Grazie

    Hey hey, my my Rock and roll can never die!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.