изменить порядок или индекс столбцов таблицы данных - PullRequest
5 голосов
/ 10 мая 2009

Это то, во что я не могу поверить, что я не смог понять - пожалуйста, скажите мне, что я упускаю что-то простое ...

У меня есть сетка данных, я заполняю ее LINQ, а также пользовательским классом для добавления данных в него.

После этого мне нужны данные в определенном порядке - кажется, они меня игнорируют.

Как изменить свойства столбцов, например, индекс и т. Д.

вот код 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}

Ответы [ 3 ]

10 голосов
/ 10 мая 2009

решаемые

Я не могу поверить, сколько вещей мне пришлось пройти, чтобы найти это!

Кажется, теперь оооочень очевидно (как и большая часть .net после факта!)

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

или

Datagrid.columns(1).DisplayIndex=0

2 голосов
/ 10 мая 2009

То, что вы видите, является результатом того, как VB генерировал анонимные типы в Visual Studio 2008 RTM. Компилятор сортирует свойства по алфавиту. Следовательно, независимо от того, какой порядок вы указали, если ваши данные связывают запрос, столбцы будут отображаться в алфавитном порядке.

В Visual Studio 2008 SP1 компилятор VB внес изменения для устранения этой проблемы. Анонимные типы теперь будут генерировать члены анонимного типа так же, как вы указываете их в коде. Если вы обновитесь до VS2008 SP1, вы должны увидеть изменение в этом поведении.

Подробная статья по теме

1 голос
/ 10 мая 2009

Я не уверен, что конкретно происходит, но что-то нужно учитывать ...

В какой момент вы изменяете столбцы? Если слишком поздно, возможно, потребуется отскок к сетке, что приведет к его перерисовке. Обычно, когда я что-то меняю и не вижу эффекта на экране, это связано с порядком привязки.

...