37 messaggi dal 30 maggio 2008
Ciao A tutti,
al momento sto studiando Linq e vorrei sviluppare un esempio con DataGrid.
Il mio intendo e di popolare la DataGrid con i dati del database e inserire i Button "Add,Edit,Delete" per maneggiare il database cosi vi chiedo qualche consiglio come sviluppare questo esempio per me utilissimo ,avete qualche link,consiglio o strada da mostrarmi ?
Vi auguro buona giornata.
CIao

Modificato da noninoni il 17 novembre 2008 06.41 -
Beh prima di tutto, non puoi usare LINQ
Nel senso che se metti in Binding un Table<T> ti viene data una classe speciale che implementa IBindingList ma permette la lettura e ti fa automaticamente la InsertOnSubmit e la DeleteOnSubmit sull'entità. Può magari bastarti ma comunque non supporta ordinamento (se non client side), raggruppamento o filtro.
Questo perché è buona norma non usare tecnologie usate per accedere ai dati (linq to sql e linq to entities) direttamente nello strato di presentazione.

Se vuoi usare in generale linq (che non è da considerarsi una tecnologia per accedere ai dati) per lavorare sull'expression tree di un qualsiasi IQueryable (linq to sql, linq to entities, linq to object, linq to xml ecc) considera questa libreria molto carina
http://www.codeplex.com/bindablelinq

Ciao

Il mio blog
Homepage
37 messaggi dal 30 maggio 2008
Ciao Ricciolo(d'oro)

grazie della risposta ,
ho scaricato la libreria che mi hai suggerito la voglio guardare meglio dopo, al momento sto esercitando Linq to Sql con WPF e provando una DataGrid della Infragistic ,io posso aggiungere un record e aggiornarlo ma non so come cancellare un record ,non ho capito bene se dipende dalla DataGrid ,da Linq o da me  sto dormendo poco per risolvere questo problema comunque posto il codice delò Tasto per cancellare ,io uso una ObservableCollection<PersonTbl> per popolare la DataGrid:

private void Delete_Click(object sender, RoutedEventArgs e)
{
if (xamGrid.SelectedItems != null)
{
_dataDC.PersonTbls.DeleteOnSubmit((PersonTbl)xamGrid.SelectedItems );
Ob.PersonDataSource.Remove((PersonTbl)xamGrid.SelectedItems);
_dataDC.SubmitChanges();
}
}

Se hai dei consigli forse domani potro dormire qualche ora in più

Grazie tanto.
Buona giornata.
Ciao
Nel meraviglioso mondo di WPF si usano le viste
Non lavorare alla winform, rimani staccato dall'interfaccia. Tramite CollectionViewSource.GetDefaultView puoi ottenere la ICollectionView di una sorgente dati (quella che hai messo in binding). Tramite questa puoi filtrare, spostare la selezione, raggruppare ecc (occhio a IsSynchronizedWithCurrentItem=true sulla griglia) mentre tramite l'interfaccia IEditableCollectionView (fx3.5 sp1), puoi anche compiere operazioni.
Guarda
http://msdn.microsoft.com/en-us/library/system.windows.data.collectionview.aspx
http://msdn.microsoft.com/en-us/library/ms754073.aspx
http://msdn.microsoft.com/en-us/library/ms754244.aspx
http://msdn.microsoft.com/en-us/library/system.componentmodel.ieditablecollectionview.aspx

Ciao

Il mio blog
Homepage
37 messaggi dal 30 maggio 2008
Ciao Ricciolo(d'oro)
grazie della tua disponibilità infatti sto guardando i link che mi hai postato ,prima di fare questo esempio sulla DataGrid(ho bisogno di capire come funziona la DataGrid perche nel mio futuro mi aspettano tante DatGrid da popolare ) ho provato a fare un esempi del Modello M V MV mi piace molto ma io non ho un esperienza nel campo della programzzione quindi sto cercando di partire dalla base .
Nei prossimi mesi dovrei sviluppare un progetto Multithreading dove 10 o computer più vorano collegarsi al server dove risiede il database e ogni giorno inseriscono,cancellano e aggiornano il database cosi ho bisogno di capire bene DataGrid ,Wpf e Linq to SQL ma adesso ho un problema nel cancellare un record sto facendoo un o di confusione se mi pui aiutare ne sarei felice.
Vi auguro buona giornata.
Ciao

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.