Вопрос о сохранении заголовков столбцов в сетке данных! - PullRequest
3 голосов
/ 16 декабря 2010

Когда я меняю порядок столбцов в моей таблице данных, эти настройки сохраняются, но они не отображаются при инициализации программы.Чтобы показать сохраненные настройки, я должен сначала выбрать другой элемент из выпадающего списка, а затем вернуться назад.Затем сохраненный заказ обнаруживается.Как получить столбец для отображения при инициализации?

Ответы [ 2 ]

0 голосов
/ 29 декабря 2010

Я не уверен, что понял ваш вопрос, но если проблема заключается в порядке расположения данных, возможно, вы можете заказать исходную коллекцию сетки данных до привязки (например, с помощью LINQ).Извините за VB, но я думаю, что вы можете легко выполнить:

Это «компактный» пример:

Public Sub New()
    ' initialize the collection
    _MyTypeItemList = From a In MyTypeItemList Select a Order By a.MyProperty2
End Sub

Это более полный пример.Если это не то, что вам нужно, наберитесь терпения, я итальянец, я не гуру, и мой английский такой-то:

Imports System.Collections.ObjectModel
Imports System.ComponentModel

Public Class MyType
    Public Sub New()
        ' initialize the collection
        _MyTypeItemList = From a In MyTypeItemList Select a Order By a.MyProperty2
    End Sub

    Private _MyTypeItemList As New ObservableCollection(Of MyTypeItem)

    Public ReadOnly Property MyTypeItemList() As ObservableCollection(Of MyTypeItem)
        Get
            MyTypeItemList = _MyTypeItemList
        End Get
    End Property
End Class

Public Class MyTypeItem
    Implements INotifyPropertyChanged

    Public Sub New(ByVal MyProperty1Pass As Long, ByVal MyProperty2Pass As Date)
        _MyProperty1 = MyProperty1Pass
        _MyProperty2 = MyProperty2Pass
    End Sub

    Private _MyProperty1 As Long = Nothing
    Private _MyProperty2 As Date = Nothing

    Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged

    Public Property MyProperty1() As Long
        Get
            MyProperty1 = Me._MyProperty1
        End Get

        Set(ByVal value As Long)
            If Not Object.Equals(Me._MyProperty1, value) Then
                Me._MyProperty1 = value
                Me.OnPropertyChanged("MyProperty1")
            End If
        End Set
    End Property

    Public Property MyProperty2() As Date
        Get
            Return Me._MyProperty2
        End Get

        Set(ByVal value As Date)
            If Not Object.Equals(Me._MyProperty2, value) Then
                Me._MyProperty2 = value
                Me.OnPropertyChanged("MyProperty2")
            End If
        End Set
    End Property

    Protected Overridable Sub OnPropertyChanged(ByVal propertyName As String)
        Dim handler As PropertyChangedEventHandler = Me.PropertyChangedEvent
        If handler IsNot Nothing Then
            RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName))
        End If
    End Sub
End Class
0 голосов
/ 16 декабря 2010

связываете ли вы сетку данных после внесения изменений?в asp.net по крайней мере вы должны выполнить повторную привязку после изменения gridview / datagrid, чтобы увидеть результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...