102 messaggi dal 08 gennaio 2007
Salve a tutti, ho un progetto dove vengono visualizzati dei dati, purtroppo (o per fortuna) in molti campi ho registrato solo l'ID e quindi quando vado a visualizzarli in gridview non vedo altro che gli ID per non citare il problema della modifica che diventa un vero problema.
Che controlli posso usare in alternativa per poter gestire al meglio l'update?
non è chiarissimo il tuo problema, puoi darci altri dettagli? che vuoi dire cha hai registrato solo l'id?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
102 messaggi dal 08 gennaio 2007
Esempio Tabella con:
idmateriale - contatore
nomemateriale - testo
nomefornitore - numerico intero lungo (prelevo il nome dalla tabella fornitori)
marcamateriale - numerico intero lungo (prelevo il nome dalla tabella marche materiali)

ect ect

quando vado a visualizzare i dati se faccio l'inner gioin nella selcto riesco a visualizzare tutto senza problemi.
Se invece voglio variare per esempio la marca, dovrei avere all'interno della gridwiew una dropdownlist per dover variare il parametro e mi sembra di capire che non possa farlo.
A questo punto vi chiedo se sono sulla strada sbagliata oppure se devo adottare altri sistemi per visualizzare/modificare i dati.
certo che puoi farlo, è sufficente inserire una TemplateField, e inserire nell'InsertTemplate una DropDownList, l'unica cosa che dovrai fare e popolarla e selezionare il valore attualmente selezionato(scusa il gioco di parole).

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
29 messaggi dal 20 maggio 2007
ciao!
puoi utilizzare le DropDownList senza alcun problema.
devi trasformare il campo per esempio marca della gridview in un templatefield e all'interno dell'edittemplatefield inserci la ddl collegata alla tabella marca; quindi imposti la ddl facendo visualizzare il valore testuame della marca e a ogni nome associ l'id della riga


se ho capito bene il tuo problema, questa è la soluzione.
se non ho capito bene allora spiegati meglio.
ciao marisa
Modificato da cianciana il 31 luglio 2007 10.17 -
102 messaggi dal 08 gennaio 2007
Stò provando ma non riesco a cavarci niente, vi posto quello che ho capito ma che non funziona:

<asp:GridView

ID="GridView1"

runat="server"

AutoGenerateColumns="False"

DataSourceID="AccessDataSource2"

DataKeyNames="idmaterialeplotter"

DataMember="DefaultView" AutoGenerateEditButton="True" AllowSorting="True" AutoGenerateDeleteButton="True">


<Columns>

<asp:BoundField DataField="idmaterialeplotter" HeaderText="id" InsertVisible="False" ReadOnly="True" SortExpression="idmaterialeplotter" />
<asp:BoundField DataField="nomemateriale" HeaderText="nome" SortExpression="nomemateriale" />

<asp:BoundField DataField="larghezzacm" HeaderText="larg. cm" SortExpression="larghezzacm" />

<asp:BoundField DataField="marcamateriale" HeaderText="marca" SortExpression="marcamateriale" />

<asp:BoundField DataField="fornitore" HeaderText="fornitore" SortExpression="fornitore" />

<asp:BoundField DataField="spessore" HeaderText="spessore"
SortExpression="spessore" />

<asp:BoundField DataField="costomaterialemq" HeaderText="costomaterialemq" SortExpression="costo m2" />

<asp:BoundField DataField="ricarico" HeaderText="ricarico"
SortExpression="ricarico" />

<asp:BoundField DataField="prezzovenditamateriale" HeaderText="prezzo m2" SortExpression="prezzovenditamateriale" />

<asp:BoundField DataField="stampa_taglio" HeaderText="Stampa o Taglio" SortExpression="stampa_taglio" />

<asp:TemplateField HeaderText="stampa o taglio">

<asp ropDownList ID="DropDownList1"runat="server"
DataSourceID="AccessDataSource2"

DataTextField="idmaterialeplotter" DataValueField="idmaterialeplotter">
</asp ropDownList>

</asp:TemplateField>

</Columns>

</asp:GridView>



Dove sbaglio?
102 messaggi dal 08 gennaio 2007
Dove sbaglio?


Mi dice che dropdownlist1 non è un elemento noto.

Saluti @ndrea
29 messaggi dal 20 maggio 2007
vta ha scritto:

<asp:GridView

ID="GridView1"

runat="server"

AutoGenerateColumns="False"

DataSourceID="AccessDataSource2"

DataKeyNames="idmaterialeplotter"

DataMember="DefaultView" AutoGenerateEditButton="True" AllowSorting="True" AutoGenerateDeleteButton="True">


<Columns>

<asp:BoundField DataField="idmaterialeplotter" HeaderText="id" InsertVisible="False" ReadOnly="True" SortExpression="idmaterialeplotter" />
<asp:BoundField DataField="nomemateriale" HeaderText="nome" SortExpression="nomemateriale" />

<asp:BoundField DataField="larghezzacm" HeaderText="larg. cm" SortExpression="larghezzacm" />

<asp:BoundField DataField="marcamateriale" HeaderText="marca" SortExpression="marcamateriale" />

<asp:BoundField DataField="fornitore" HeaderText="fornitore" SortExpression="fornitore" />

<asp:BoundField DataField="spessore" HeaderText="spessore"
SortExpression="spessore" />

<asp:BoundField DataField="costomaterialemq" HeaderText="costomaterialemq" SortExpression="costo m2" />

<asp:BoundField DataField="ricarico" HeaderText="ricarico"
SortExpression="ricarico" />

<asp:BoundField DataField="prezzovenditamateriale" HeaderText="prezzo m2" SortExpression="prezzovenditamateriale" />

<asp:BoundField DataField="stampa_taglio" HeaderText="Stampa o Taglio" SortExpression="stampa_taglio" />

<asp:TemplateField HeaderText="stampa o taglio">

<EditItemTemplate><asp:DropDownList ID="DropDownList1"runat="server"
DataSourceID="AccessDataSource2"

DataTextField="nomematerialeplotter" DataValueField="idmaterialeplotter">
</asp:DropDownList>
</EditItemTemplate>

<InsertItemTemplate><asp:DropDownList ID="DropDownList1"runat="server"
DataSourceID="AccessDataSource2"

DataTextField="nomematerialeplotter" DataValueField="idmaterialeplotter">
</asp:DropDownList>
</InsertItemTemplate>
<ItemTemplate>
label associata al testo da visualizzare
</ItemTemplate>
</asp:TemplateField>


</Columns>

</asp:GridView>




il codice del templatefield deve essere simile a quello che ti ho corretto.
non devi scriverlo a mano.
clicchi sulla freccetta nera del gridview e ti compare la finestra grigia di cui non ricordo il nome; clicchi sul link modifica colonna(edit column) e ti compare una vista di modifica delle colonne e selezioni tra quelle che sono già presenti nel gridview, quella a cui tu hai associato il valore idmaterialeplotter; quindi clicchi sul link in basso a sinistra che dice converti in templatefiled o qualcosa del genere. premi ok finchè non torni alla vista progettazione e passi alla vista codice sorgente dove vedrai del codice sorgente molto simile a quello che ti ho postato relativamente al templatefield.
infine dei aggiungere la ddl e impostarla.
un consiglio: quando non conosci o non ricordi bene il codice sorgente da usare usa gli strumenti forniti dall'ambiente di sviluppo.

ciao marisa

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.