Domanda

Questo è qualcosa che non posso credere di non essere stato in grado di capire - per favore dimmi che mi manca qualcosa di semplice ...

Ho un datagrid, lo sto riempiendo di LINQ e di una classe personalizzata per aggiungere dati ad esso.

Successivamente, ho bisogno dei dati in un ordine specifico - sembra ignorarmi.

Come posso modificare le proprietà di una colonna, come indice ecc. ??

ecco il codice LINQ che sto usando:

grazie in anticipo ...

 Dim query = From m In db.details _
                Where m.InboundDate >= CType(MonthCalendar1.SelectionStart, DateTime) _
                And m.InboundDate <= CType(MonthCalendar1.SelectionEnd, DateTime).AddHours(23).AddMinutes(59) _
                And m.ClientNo = 1 _
                  Join md In db.Manifests On md.ManifestID Equals m.MainID _
                Select New GridData With {.manifestID = m.MainID, .InboundDate = m.InboundDate, .Zip = m.Zip, .LadingPkgQty = md.LadingPkgQty, .Weight = m.Weight, .Zone = m.Zone, .Fuel = 23, .LineHaul = Nothing, .Freight = Nothing, .BilledAmount = Nothing, .PackageRate = Nothing, .LTL = Nothing}
È stato utile?

Soluzione

Risolto

Non riesco a credere a quante cose ho dovuto guadare solo per trovarlo!

Sembra Sooooo ovvio ora (come gran parte di .net dopo il fatto!)

Datagrid.Columns("Zone").DisplayIndex = 0

o

Datagrid.columns(1).DisplayIndex=0

Altri suggerimenti

Quello che vedi è un effetto del modo in cui VB ha generato tipi anonimi in Visual Studio 2008 RTM. Il compilatore ordina le proprietà in ordine alfabetico. Quindi, indipendentemente dall'ordine specificato, se i dati associano una query, le colonne verranno visualizzate in ordine alfabetico.

In Visual Studio 2008 SP1, il compilatore VB ha apportato una modifica per affrontare questo comportamento. I tipi anonimi ora genereranno membri di tipo anonimo nello stesso modo in cui li specifichi nel codice. Se esegui l'aggiornamento a VS2008 SP1, dovresti vedere un cambiamento in questo comportamento.

Articolo dettagliato sull'argomento

Non sono sicuro dello specifico di ciò che sta succedendo, ma qualcosa da considerare ...

A che punto stai modificando le colonne? Se è troppo tardi, potrebbe essere necessario rimbalzare sulla griglia, facendola ridisegnare. Di solito quando cambio qualcosa e non vedo il suo effetto sullo schermo, è dovuto a un ordine vincolante.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top