2013-07-02 3 views
3

У меня есть dataview. Источник dataview - view от sql server. Dataview сортирован. Как это:Очистить Сортировка с DataView

dv_building.Sort = "bld_number" 

это dataview является datasource моих datagird1:

DataGrid1.DataSource = dv_building 

Теперь я хочу, чтобы удалить сортировку dv_building.Sort = String.Empty но вид моей сетки данных был изменен, так как сортировка была удалена, то есть dataview был возвращен к сортировке по умолчанию, возможно, по кластерному индексу.

Как удалить сортировку, но фактическая сортировка останется на bld_number? Является ли это возможным?

+0

Если вы хотите сохранить сортировку по умолчанию, почему вы не можете сортировать на сайте SQL Server и загружать уже предварительно данные в 'DataTable'? – dkozl

+0

Привет, Dkozl, Спасибо за ваше обновление. наше точное требование отключает сортировку при редактировании настраиваемого элемента управления (ограниченного DataView). Пожалуйста, помогите нам в этом, как достичь этого – Raja

+0

будет реферироваться Сетка тоже, используйте что-то вроде клона. Нужна ссылка? – Ragavan

ответ

1

Я нашел обходной путь для достижения запрошенного поведения: реализация класса, производного от DataTable доступна для меня, дополнительный столбец добавляется к столбцам:

Columns.AddRange(
       new DataColumn[N] 
        { 
         ... 
         new DataColumn("Order",  typeof (int)) 
        } 

я перечисляю этот столбец с порядковыми номерами после каждой модификации столбца представления данных (колонка участвовала в сортировке). Когда мне нужна сортировка заморозки, я переключу свойство DataView.Sort в этот столбец «Заказ». Чтобы разморозить - dataView.Sort = regularSortCriterion.

Смежные вопросы