2009-05-09 3 views
4

이것은 내가 알아낼 수 없었다 믿을 수 없어 무언가이다 - 나는 간단하게 뭔가를 놓친 거지 말해주세요 ... 난 데이터 그리드를변화 데이터 그리드의 열 순서 또는 인덱스

, 나는 그것을 작성하고 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를 사용하고 을 (사후 .NET의 많은처럼!) - 것으로 않습니다 사정을 바꾼다? -Joe –

답변

7

내가이를 찾기 위해 단지를 통해 웨이드했다 얼마나 많은 물건을 믿을 수 없다

를 해결!

는 지금 sooooo는 분명한 것 같다

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

또는

Datagrid.columns(1).DisplayIndex=0

2

당신이보고있는 것은 VB가 비주얼 스튜디오 2008 RTM에서 익명 형식을 생성하는 방법에 대한 효과 :

여기 내가 사용하고 LINQ 코드입니다. 컴파일러는 사전 순으로 속성을 정렬합니다. 따라서 사용자가 지정한 순서에 관계없이 데이터에 쿼리를 바인딩하면 열은 사전 순으로 표시됩니다.

Visual Studio 2008 SP1에서 VB 컴파일러가이 동작을 해결하기 위해 변경되었습니다. 익명 형식은 이제 코드에서 지정하는 것과 같은 방식으로 익명 형식 멤버를 생성합니다. VS2008 SP1로 업그레이드하면이 동작이 변경됩니다.

주제에

자세한 기사 어떤 시점에서

당신을있는 나는 무슨 일이 일어나고 있는지의 특정하지만, 고려해야 할 것이 확실하지 않다

+0

최신 서비스 팩을 실행하고 있습니다 .... 사실 이후에 단순히 열 위치를 변경하는 것은 어떻습니까? 감사합니다 ... –

+0

이제 알았습니다 ... 그러나 런타임에 주문을 바꿀 방법이 있습니까? 시간이 적당합니다. 조 –

1

... 열 수정? 너무 늦으면 그리드에 리바운드시켜 다시 그려야합니다. 일반적으로 뭔가를 바꿀 때 화면에 그 효과가 나타나지 않으면 바인딩 순서 때문입니다.