Ordinamento delle immagini in una datagrid

lunedì 19 febbraio 2007 - 20.51

motogpdesmo16 Profilo | Senior Member

Salve a tutti amici, questa volta ho questo problema da risolvere e chiedo la vs. consulenza.
Ho una lista di prodotti a cui, per ognuno, posso associare [i]n[/i] immagini. Pertanto ho pensato di gestire in una pagina (prodotti.aspx) una datagrid in cui ho diverse colonne (id, categoria, marca, descrizione) e un hyperlink al cui clic si apre un'altra datagrid (ovviamente in un'altra pagina: immagini.aspx) in cui riesco a visualizzare tutte le immagini legate a quel prodotto. Fin qui tutto ok, tutto sembra funzionare.
La mia esigenza è la seguente: la datagrid appena citata è composta di 3 colonne (id, immagine,ordinamento) e la colonna ordinamento vorrei che sia una dropdownlist valorizzata con tante voci quante sono le immagini inerenti quel prodotto.
Mi spiego meglio: per il prodotto "Alfa Romeo 159" posso avere 5 foto, per ogni dropdown le voci saranno dunque "1", "2", "3", "4,"5".

Come è possibile far effettuare questo tipo di valorizzazione alla dropdownlist?? (premetto non ho nessun problema a reperire il path delle singole immagini ed il totale delle immagini per ogni prodotto)
Grazie anticipatamente per le risposte.

alx_81 Profilo | Guru

>Salve a tutti amici,
Ciao!

>questa volta ho questo problema da risolvere
>e chiedo la vs. consulenza.
>Ho una lista di prodotti a cui, per ognuno, posso associare [i]n[/i]
>immagini. Pertanto ho pensato di gestire in una pagina (prodotti.aspx)
>una datagrid in cui ho diverse colonne (id, categoria, marca,
>descrizione) e un hyperlink al cui clic si apre un'altra datagrid
>(ovviamente in un'altra pagina: immagini.aspx) in cui riesco
>a visualizzare tutte le immagini legate a quel prodotto. Fin
>qui tutto ok, tutto sembra funzionare.
>La mia esigenza è la seguente: la datagrid appena citata è composta
>di 3 colonne (id, immagine,ordinamento) e la colonna ordinamento
>vorrei che sia una dropdownlist valorizzata con tante voci quante
>sono le immagini inerenti quel prodotto.
>Mi spiego meglio: per il prodotto "Alfa Romeo 159" posso avere
>5 foto, per ogni dropdown le voci saranno dunque "1", "2", "3",
>"4,"5".
>
>Come è possibile far effettuare questo tipo di valorizzazione
>alla dropdownlist?? (premetto non ho nessun problema a reperire
>il path delle singole immagini ed il totale delle immagini per
>ogni prodotto)
Se hai il totale di ogni prodotto, basta inserire in un TemplateColumn del datagrid il tuo DropDownList.
Nell'evento ItemDataBound poi, andando a leggere dalla sorgente il numero di immagini per ogni prodotto, basta fare un semplice ciclo, andando ad inserire nella collection degli items della dropdown list (ricavata con la find control sulla riga corrente) i valori di ogni ciclo.
Ti allego un esempio per capire quello che ti ho scritto..
Spero possa esserti di aiuto!
ciao!
>Grazie anticipatamente per le risposte.

Alx81 =)

http://blogs.dotnethell.it/suxstellino

motogpdesmo16 Profilo | Senior Member

Sembra funzionare tutto correttamente..Ho "perfezionato" il codice facendo selezionare automaticamente la posizione di ordinamento dell'immagine.
Ho allegato il codice qualora dovesse servire a qualcun'altro.
Grazie.

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

alx_81 Profilo | Guru

>Sembra funzionare tutto correttamente..Ho "perfezionato" il codice
>facendo selezionare automaticamente la posizione di ordinamento
>dell'immagine.
Ottimo

>Ho allegato il codice qualora dovesse servire a qualcun'altro.
>Grazie.
Di nulla!
Alx81 =)

http://blogs.dotnethell.it/suxstellino

motogpdesmo16 Profilo | Senior Member

Un'altra domanda sempre riguardante questa problematica....In capo alla griglia ho messo un commandbutton che dovrebbe avere il compito di effettuare l'update sulla tabella immagini secondo questo schema: le posizioni non potranno essere ripetute (e quindi dovrò effettuare gli opportuni controlli) e l'immagine che avrà posizione "1" sarà quella predefinita (sarà dunque settato un campo "predefinito=1" sul record).
Sapresti dirmi come posso fare a passare in rassegna tutti i valori delle dropdownlist presenti nella tabella affinchè possa effettuare gli opportuni controlli prima di eseguire l'update?
Grazie

alx_81 Profilo | Guru

>Un'altra domanda sempre riguardante questa problematica....In
>capo alla griglia ho messo un commandbutton che dovrebbe avere
>il compito di effettuare l'update sulla tabella immagini secondo
>questo schema: le posizioni non potranno essere ripetute (e quindi
>dovrò effettuare gli opportuni controlli) e l'immagine che avrà
>posizione "1" sarà quella predefinita (sarà dunque settato un
>campo "predefinito=1" sul record).
>Sapresti dirmi come posso fare a passare in rassegna tutti i
>valori delle dropdownlist presenti nella tabella affinchè possa
>effettuare gli opportuni controlli prima di eseguire l'update?
Ma il bottone lo hai messo su ogni riga e quind l'update lo fai sulla riga oppure è un bottone esterno che fa l'update per tutto il grid?
Secondo il nome che hai indicato sembra un pulsante di riga.. quindi puoi controllare il selectedvalue di ogni DDL all'evento ItemCommand.
Fai attenzione ad impostare un CommandName personalizzato sul tuo pulsante e a controllare in fase di evento ItemCommand se il commandName è quello che ti aspetti. In poche parole, nel CommandButton imposta la proprietà CommandName="AGGIORNA" ad esempio..
poi nell'evento ItemCommand, controlla se e.CommandName = "AGGIORNA" ed in tal caso, ricava il controllo DDL allo stesso modo indicato nei post precedenti (FindControl), andando a ricavare il selectedValue e facendo le considerazioni del caso.

>Grazie
Di nulla!

Alx81 =)

http://blogs.dotnethell.it/suxstellino

motogpdesmo16 Profilo | Senior Member

Il bottone non l'ho messo su ogni riga della datagrid ma è in cima alla griglia (come posizione). Al suo click, come spiegato, deve essere analizzata l'intera griglia e devono essere fatti gli opportuni aggiornamenti.

alx_81 Profilo | Guru

>Il bottone non l'ho messo su ogni riga della datagrid ma è in
>cima alla griglia (come posizione). Al suo click, come spiegato,
>deve essere analizzata l'intera griglia e devono essere fatti
>gli opportuni aggiornamenti.
Mah, fossi in te il controllo lo farei al cambiamento di valore della combobox.. in modo che se c'è un errore di ripetizione lo vedi subito, quindi l'evento in cui puoi controllare ogni riga del gridview potrebbe essere il SelectedIndexChanged di ogni ddl..

Alx81 =)

http://blogs.dotnethell.it/suxstellino

motogpdesmo16 Profilo | Senior Member

Per particolari esigenze ho la necessità di inserire tutto il comando di controllo/update nel bottone posto in cima alla griglia.
E' possibile dunque sapere quali sono i valori contenuti nella singola combobox presente nella griglia?
Grazie.

alx_81 Profilo | Guru

>Per particolari esigenze ho la necessità di inserire tutto il
>comando di controllo/update nel bottone posto in cima alla griglia.
>E' possibile dunque sapere quali sono i valori contenuti nella
>singola combobox presente nella griglia?
Un pochino macchinoso ma possibile
Alla pressione del pulsante, prendi il tuo datagrid, lo scorri riga per riga, ed in ognuna di esse, tramite la FinsControl ricavi i tuoi DDL, andando a controllare la proprietà SelectedItem o SelectedValue..
poi fai le tue considerazioni..

>Grazie.
Di nulla!

Alx81 =)

http://blogs.dotnethell.it/suxstellino

motogpdesmo16 Profilo | Senior Member

ti sembrerà banale ma non ho assolutamente idea su come poter leggere la mia datagrid riga per riga....

Ti ringrazio per l'enorme pazienza.

alx_81 Profilo | Guru

>ti sembrerà banale ma non ho assolutamente idea su come poter
>leggere la mia datagrid riga per riga....

All'evento del click del pulsante (la sub che gestisce il click del bottone) fai qualcosa di simile a:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

>Ti ringrazio per l'enorme pazienza.
Di nulla.. speriamo che questo aiuto ti serva
>

Alx81 =)

http://blogs.dotnethell.it/suxstellino
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5