Сохранить сортировку в DataGrid
От: INsideR Латвия  
Дата: 10.08.05 11:34
Оценка:
В datagrid свойставо AllowSorting выставлено в true. После кое-каких манипуляций я назначаю DataGrid новый DataSource, с теми же полями. Как востановить сортировку, которую назначил пользователь во время работы программы?
Мудр тот, кто знает не многое, а нужное
Re: Сохранить сортировку в DataGrid
От: Jammer  
Дата: 10.08.05 12:57
Оценка:
Здравствуйте, INsideR, Вы писали:
INR>В datagrid свойставо AllowSorting выставлено в true. После кое-каких манипуляций я назначаю DataGrid новый DataSource, с теми же полями. Как востановить сортировку, которую назначил пользователь во время работы программы?

подписаться на DataGrid.SortCommand Event
запоминать DataGridSortCommandEventArgs.SortExpression Property и присваивать его при DataGrid.DataBinding Event
Re[2]: Сохранить сортировку в DataGrid
От: INsideR Латвия  
Дата: 10.08.05 13:13
Оценка:
Здравствуйте, Jammer, Вы писали:

J>Здравствуйте, INsideR, Вы писали:

INR>>В datagrid свойставо AllowSorting выставлено в true. После кое-каких манипуляций я назначаю DataGrid новый DataSource, с теми же полями. Как востановить сортировку, которую назначил пользователь во время работы программы?

J>подписаться на DataGrid.SortCommand Event

J>запоминать DataGridSortCommandEventArgs.SortExpression Property и присваивать его при DataGrid.DataBinding Event

Мне надо под WinForms.
Мудр тот, кто знает не многое, а нужное
Re[3]: Сохранить сортировку в DataGrid
От: Jammer  
Дата: 10.08.05 13:42
Оценка:
Здравствуйте, INsideR, Вы писали:

INR>Мне надо под WinForms.


У меня всё сохраняется, если Datagrid.DataSource есть DataView

тестил так:

 Private Sub btnTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTest.Click
        If Me.DataGrid1.DataSource Is Me.DataView2 Then
            Me.DataGrid1.DataSource = Me.DataView1
        Else : Me.DataGrid1.DataSource = Me.DataView2
        End If
    End Sub
Re: Сохранить сортировку в DataGrid
От: Peter Fleischer Германия www.informtoools.de
Дата: 11.08.05 05:20
Оценка:
"INsideR" <16914@users.rsdn.ru> schrieb im Newsbeitrag news:1318982@news.rsdn.ru...
>В datagrid свойставо AllowSorting выставлено в true. После кое-каких манипуляций я назначаю DataGrid новый DataSource, с теми же полями. Как востановить сортировку, которую назначил пользователь во время работы программы?

Если назначаешь новый (другой) DataSource-object, то надо перед назначением запомнить Sort-свойство от DataView, которым пользуется грид. После назначения надо ставить запомненное содержание.

Пример (надо скопировать в пустую форму):

  Dim dg As New DataGrid

  Private Sub Form1_Load(ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles MyBase.Load
    With dg
      .Dock = DockStyle.Fill
      .DataSource = getDataSet()
      .DataMember = "Tab1"
    End With
    Me.Controls.Add(dg)
    Dim btn As New Button
    With btn
      .Dock = DockStyle.Top
      .Text = "New DataSource"
      AddHandler .Click, AddressOf newDataSet
    End With
    Me.Controls.Add(btn)
  End Sub

  Private Sub newDataSet(ByVal sender As Object, ByVal e As EventArgs)
    With dg
      Dim s As String = CType(CType(Me.BindingContext(.DataSource, .DataMember), CurrencyManager).List, DataView).Sort
      .DataSource = getDataSet()
      .DataMember = "Tab1"
      CType(CType(Me.BindingContext(.DataSource, .DataMember), CurrencyManager).List, DataView).Sort = s
    End With
  End Sub

  Private Function getDataSet() As DataSet
    Dim dset As New DataSet
    With dset
      .Tables.Add(New DataTable("Tab1"))
      With .Tables(0)
        With .Columns()
          .Add(New DataColumn("ID", GetType(Int32)))
          .Add(New DataColumn("col1", GetType(Double)))
          .Add(New DataColumn("col2", GetType(Int32)))
        End With
        For i As Integer = 1 To 100
          Dim drow As DataRow = .NewRow
          drow!ID = i
          drow!col1 = 100 * Rnd()
          drow!col2 = CInt(100 * Rnd())
          .Rows.Add(drow)
        Next
      End With
    End With
    Return dset
  End Function


Peter
Posted via RSDN NNTP Server 1.9
Сохранить сортировку в DataGrid
От: Аноним  
Дата: 10.08.05 12:49
Оценка:
Читаем про
DataGrid.SortCommand Event
DataGridSortCommandEventArgs.SortExpression Property


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Сохранить сортировку в DataGrid
От: Аноним  
Дата: 10.08.05 13:14
Оценка:
Гы, это я 2 раза отметился


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.