8 messaggi dal 21 maggio 2013
Ciao a tutti,
devo fare alcune modifiche ad un programma vecchissimo.

La modifica riguarda l'aggiunta di un campo note in un DataGrid.

Non ho nessun problema ad aggiungere il campo note come colonna, ma vorrei visualizzarlo come riga, mi spiego meglio:

Nel dataset ho i campi "codice", "descrizione" e "note".

I primi due li rappresento come colonna mentre il campo note vorrei inserirlo in una nuova riga con colspan=2 perchè potrebbero essere lunghe.

E' possibile farlo con un DataGrid?

Grazie mille
Ciao!
98 messaggi dal 13 febbraio 2016
Buon pomeriggio Cicciobo,
cosa intendi per visualizzare il campo note aggiungendolo in una nuova riga?
Intendi forse una nuova colonna?

Oltre alle varie BoundColumn puoi personalizzare la colonna a tuo piacimento tramite TemplateColumn, ti scrivo un piccolo esempio:

   <asp:TemplateColumn>
        <ItemTemplate>
            <asp:Label runat="server" ID="Label1" Text='<%Eval("campo") %>'></asp:Label>
        </ItemTemplate>
    </asp:TemplateColumn>



Ciao
8 messaggi dal 21 maggio 2013
Ciao pillopo,
grazie per la risposta.

Quello che intendo è questo: https://s17.postimg.org/5d25ucjv3/Immagine.png

Thanks!
98 messaggi dal 13 febbraio 2016
Ti basta impostare un'unica colonna così:

    <asp:TemplateColumn>
        <ItemTemplate>
            <table>
                <tr>
                    <td>
            <asp:Label runat="server" ID="Label2" Text='<%Eval("campo") %>'></asp:Label>
                    </td>
                    <td>
            <asp:Label runat="server" ID="Label3" Text='<%Eval("campo") %>'></asp:Label>
                    </td>
                </tr>
                <tr>
                    <td colspan="2">
            <asp:Label runat="server" ID="Label1" Text='<%Eval("campo") %>'></asp:Label>
                    </td>
                </tr>
            </table>
        </ItemTemplate>
    </asp:TemplateColumn>


Ciao
8 messaggi dal 21 maggio 2013
Ciao pillopo,
al momento funziona tutto.

Ho un problema con le intestazioni di colonna, ovvero se inserisco le intestazioni di colonna (<th>) all'interno della table nel tag templatecolumn, giustamente vengono disegnate per ogni riga del dataset:

https://s18.postimg.org/apr18pnnd/Immagine.png

Per disegnare le intestazioni solamente una volta come dovrei fare?

Di seguito il codice del mio datagrid:

<asp:datagrid id="DG" runat="server" onitemdatabound="OnItemDataBound" cssclass="pgrid1" cellspacing="0"
    gridlines="None" autogeneratecolumns="False" showheader="false" showfooter="false" enableviewstate="False">
    <headerstyle cssclass="header"></headerstyle>
    <itemstyle cssclass="item"></itemstyle>
    <columns>
      <asp:templatecolumn>
        <itemtemplate>
          <table class="pgrid1" cellspacing="1">
            <tr>
              <th><% = Uniteam.Blocks.NLocalization.ResourceManager.GetString("LblArticleCode") %></th>
              <th><% = Uniteam.Blocks.NLocalization.ResourceManager.GetString("LblFabricCode") %></th>
              <th><% = Uniteam.Blocks.NLocalization.ResourceManager.GetString("LblColorCode") %></th>
            </tr>
            <tr>
              <td><asp:Label runat="server" ID="LblArticleCode" Text='<%#Eval("ArticleCode") %>'></asp:Label></td>
              <td><asp:Label runat="server" ID="LblFabricCode" Text='<%#Eval("FabricCode") %>'></asp:Label></td>
              <td><asp:Label runat="server" ID="LblColorCode" Text='<%#Eval("ColorCode") %>'></asp:Label></td>
            </tr>
            <tr>
              <td colspan="3">
                <strong>Note:&nbsp;</strong><asp:Label runat="server" ID="LblNotes" Text='<%#Eval("Notes") %>'></asp:Label>
              </td>
            </tr>
          </table>
        </itemtemplate>
      </asp:templatecolumn>
    </columns>
    <footerstyle cssclass="footer"></footerstyle>
    <pagerstyle cssclass="pager"></pagerstyle>
  </asp:datagrid>


Grazie mille
Ciao!!
98 messaggi dal 13 febbraio 2016
Buongiorno Cicciobo,
sempre nel Templatecolumn puoi "disegnare" l'header o il footer.
Aggiungi il tag HeaderTemplate:

<HeaderTemplate>
<table class="pgrid1" cellspacing="1">
<tr>
<th><% = Uniteam.Blocks.NLocalization.ResourceManager.GetString("LblArticleCode") %></th>
<th><% = Uniteam.Blocks.NLocalization.ResourceManager.GetString("LblFabricCode") %></th>
<th><% = Uniteam.Blocks.NLocalization.ResourceManager.GetString("LblColorCode") %></th>
</tr>
</HeaderTemplate>

Chiaramente anche il FooterTemplate:

<FooterTemplate>
</table>
</FooterTemplate>


Ciao
8 messaggi dal 21 maggio 2013
Perfetto!

Grazie mille!!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.