2009-05-09 27 views
4

は、これは私が私が把握することができていないと信じていないことができるものです - 私は、単純な何かが欠けています教えてください...私はデータグリッドを持って変更DataGridの列の順序やインデックス

、私はそれを満たしていますLINQだけでなく、データを追加するためのカスタムクラスもあります。

その後、特定の順序でデータが必要です。それは私を無視するようです。

インデックスなどの列のプロパティを変更するにはどうすればよいですか?事前に

おかげで...

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} 
+0

こんにちは、 私はDataGridViewのを使用しています - ことを行います変更事項? -Joe –

答えて

7

解決済み

私はこれを見つけるためにどれくらいのものを信じることができません!

(事後.NETの多くのように!)今すっごく明白なようだ

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

または

Datagrid.columns(1).DisplayIndex=0

2

あなたが見ていることはVBは、Visual Studio 2008のRTMに匿名型を生成する方法の効果である:

は、ここで私が使用していますLINQコードです。コンパイラは、プロパティをアルファベット順にソートします。したがって、指定した順序にかかわらず、データをクエリにバインドすると、列はアルファベット順に表示されます。

Visual Studio 2008 SP1では、VBコンパイラがこの動作に対処するために変更を加えました。匿名型は、コードで指定したのと同じ方法で匿名型メンバーを生成するようになりました。 VS2008 SP1にアップグレードする場合は、この動作に変更があるはずです。どの時点で

対象

+0

私は最新のサービスパックを実行しています.... 事実の後に単に列の位置を変更するのはどうですか? ありがとう... –

+0

OK - あなたが今言っていることを見て... しかし、実行時に順序を変える方法がありますか? あなたの時間はお約束します。 Joe –

1

に関する詳細な記事私は何が起こっているかの特定が、考慮すべき何かを確認していない...

あなたがあります列を変更しますか?遅すぎる場合は、グリッドにリバウンドさせて再描画する必要があります。通常、私が何かを変更したときに画面にその影響が見られない場合は、バインド順序が原因です。

関連する問題