Pacchetto DXperience (Devexpress) per Visual Studio 2005

giovedì 20 settembre 2007 - 14.31

kduhcm Profilo | Junior Member

Salve, qualcuno di voi lavora con questo pacchetto? Io ho la versione Demo, il pacchetto da dei controlli aggiuntivi Asp.Net 2.0 piu professionali di quelli canonici. Stavo pensando di farlo acquistare alla mia societa (visto che i crack non li abbiamo trovati :-)). Cosa ne pensate?

0v3rCl0ck Profilo | Guru

Ciao,

Io li utilizzo e devo dire che sono davvero uno strumento potente ed affidabile, rimane il discorso che è un prodotto di terze parti con tutti i pro e contro annessi...
http://blogs.dotnethell.it/Regulator/

kduhcm Profilo | Junior Member

Credo che dovro' svilupparci un'applicazione.... senti...non e' che avresti un crack? io ho la versione 7.2.4 di devexpress... nel caso puoi mandarmelo a luca2_36@libero.it

0v3rCl0ck Profilo | Guru

Noi abbiamo comprato già da subito la licenza, anche per avere supporto, e ci è servito avere il supporto.

http://blogs.dotnethell.it/Regulator/

kduhcm Profilo | Junior Member

Hai usato il Devexpress AspxGridView? E' possibile effettuare lo scrolling, ovvero mettere una barra sulla destra della lista della griglia (facendola cosi assomigliare a una apllicazione desktop) ? Sai il mio capo e' un po esigente :-)

0v3rCl0ck Profilo | Guru

è possibile farlo utilizzando i DIV e gli stili, avevo trovato anche un componente che permetteva di tenere la testata della griglia fissa e lo scroll solo dei dati, ma intanto prova a vedere se ti potrebbe andare bene la soluzione dei DIV + stili:

<div style="width:300px(obligatorio); height:150px(obligatorio); overflow: (auto|on|off);">
<!-- DATA GRID -->
</div>


Enjoy It
http://blogs.dotnethell.it/Regulator/

kduhcm Profilo | Junior Member

Ok, grazie...
Un'altra domanda: che tu sappia il AspxGridView consente di aggiungere record con qualche artificio magari? altrimenti dovro' orientarmi sul classico bottone che richiama un formview per effettuare l'inserimento di un nuovo record...

0v3rCl0ck Profilo | Guru

Puoi utlizzare il footer della griglia per fare l'inserimento delle nuove righe...crei tutta la gridview con le template column e su ogni colonna definisci il footer e gli metti le textbox e quello che serve per fare l'inserimento della nuova riga. Altrimenti non ti va di usare le template column, da codice, inserisci una riga nuova sul DataSource (nel mio caso un DataTable), impostando i valori di default in maniera opportuna, e selezionando la riga con il comando dtgGriglia.EditIndex = datatableTest.Rows.Count - 1.

Ecco l'opzione implementata con il codice:

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

Questo GridColumnLogin è un enum che contiene l'esatta posizione di ogni colonna sulla griglia, fondamentale quando si devono fare delle modifiche al numero e disposizione delle colonne, evita di utilizzare gli indici bindati nel codice.


Enjoy It

http://blogs.dotnethell.it/Regulator/

kduhcm Profilo | Junior Member

Ok, ho fatto come dici (ho preferito utilizzare i template per comodita') e ho aggiunto un bottone in testa al Aspxgridview che mi esgue questa riga
protected void btnStorageSpaceMapNew_Click(object sender, EventArgs e)
{
ASPxGridViewStorageSM.AddNewRow();
}
mi si presenta nella griglia un form per l'inserimento dei campi ma con i campi chiave non digitabili. Inserisco dei dati nei campi editabili ma quando clicco su update mi dice giustamente

Cannot insert the value NULL into column 'PrimaryCode', table 'DRAMS.dbo.PRIMARYCODES'; column does not allow nulls. INSERT fails. The statement has been terminated.

Come risolvo questo problema? Perche mi da i campi chiave della tabella non editabili?

0v3rCl0ck Profilo | Guru

>Ok, ho fatto come dici (ho preferito utilizzare i template per
>comodita') e ho aggiunto un bottone in testa al Aspxgridview
>che mi esgue questa riga
>protected void btnStorageSpaceMapNew_Click(object sender, EventArgs
>e)
> {
> ASPxGridViewStorageSM.AddNewRow();
> }

Hai cambiato la proprietà EditIndex della griglia? in modo tale da selezionare la riga in editing...

>mi si presenta nella griglia un form per l'inserimento dei campi
>ma con i campi chiave non digitabili. Inserisco dei dati nei
>campi editabili ma quando clicco su update mi dice giustamente
>

Per form di inserimento cosa intendi? una riga vuota con le textbox, come se editassi la riga?
Fai attenzione ad avere fatto la colonna incriminata, in ReadOnly="False" (che è il valore di default) e che sia Visible="True" (che è il valore di default)

>Cannot insert the value NULL into column 'PrimaryCode', table
>'DRAMS.dbo.PRIMARYCODES'; column does not allow nulls. INSERT
>fails. The statement has been terminated.
>
>Come risolvo questo problema? Perche mi da i campi chiave della
>tabella non editabili?

http://blogs.dotnethell.it/Regulator/

kduhcm Profilo | Junior Member

Risolto... in effetti il campo chiave era impostato a read-only come dicevi tu...
Ora pero' in un altro ASPxGridView il campo chiave e' di tipo identity quindi l'ideale sarebbe che gestisse lui in automatico il fatto di inserire un ID incrementandolo di 1 rispetto all'ultimo ID inserito. C'e' un modo per far fare a lui in automatico questo incremento senza dover intercettare l'evento iteminserting e andare a reperire con una select max(ID) l'ultimo ID e incrementarlo di 1?

0v3rCl0ck Profilo | Guru

Se il campo sul database è di tipo identity, lo gestisce automaticamente il database stesso, l'importante è non passarlo alla funzione di inserimento, perchè altrimenti il db genera un errore. In questo caso, a differenza dell'esempio precedente, è necessario mettere la colonna identity a ReadOnly, in questo modo non verrà passata alla funzione di inserimento.


http://blogs.dotnethell.it/Regulator/

kduhcm Profilo | Junior Member

Si, hai ragione... ho provato su un'altra tabella e funziona correttamente. Il problema era un altro... Ho scoperto un bug del ASPxGridView: se hai una tabella con dei campi con dei nomi a rischio es. nel mio caso COLUMN che sql server ti consente di mettere ma a cui aggiunge i delimitatori [] il controllo si incasina e reagisce in modo strano. Ora funziona grazie...

0v3rCl0ck Profilo | Guru

bene accetta il post che lo chiudiamo


http://blogs.dotnethell.it/Regulator/

kduhcm Profilo | Junior Member

Ciao, ho un altro problema con l' ASPXGridView.
In fase di inserimento di un record dovrei controllare i campi di input digitati ed eventualmente segnalare un messaggio di errore nel caso in cui l'utente abbia inserito dati non validi. Vorrei fare questo mediante trow con qualcosa del genere:

protected void grid_RowInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e)
{
throw new InvalidOperationException("Data non valida");
}

(c'e' la demo sul sito della devexpress a questo indirizzo)
http://demos.devexpress.com/tutorials/Grid/Editing/ClientSideEditTrigger/ClientSideEditTrigger.aspx

Come puoi vedere sulla demo della Devexpress l'errore e' intercettato direttamente dall ASPxGridView mentre a me in modalita' debug mi si interrompe semplicemente l'esecuzione del programma. Probabilmente non so usare bene l'istruzione throw...
Come posso ottenere un effetto simile a quello nella Demo sul link che ti ho messo?

0v3rCl0ck Profilo | Guru

Controlla che non ci sia da configurare qualche proprietà in particolare...Inoltre durante il debug i Throw vengono intercettati prima da VS e poi premendo di nuovo F5 dovrebbe andare avanti...Prova ad eseguire il tutto lanciando la pagina dall'explorer senza l'uso di VS.


http://blogs.dotnethell.it/Regulator/

kduhcm Profilo | Junior Member

Ok... come dicevi bastava premere di nuovo F5 in debug-mode mentre se pubblico il sito mi si presenta il messaggio di errore che ho forzato con la throw direttamente nell'ASPxGridView. Grazie

0v3rCl0ck Profilo | Guru

Prego di niente


http://blogs.dotnethell.it/Regulator/

kduhcm Profilo | Junior Member

Altro problema:
Nell' ASPxGridView in fase di inserimento di un nuovo record, ho la necessita' di controllare cio' che ha digitato l'utente (i classici controlli formali e logici sul form di inserimento dati). Come faccio a reperire il riferimento ai campi di insert dell' ASPxGridView per testarne il contenuto?
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