Hello, I would like to ask you a question, and I hope someone can help me, I have a WPF browser application with a RadGridView to show some data, the data source for it is an Observable collection, so when the collection changes, you can see the changes directly in the grid, but the problem is that when an item changes, it goes to the last row, and what I want to do, is after changing the element in the observable collection, order the radGridView by one of it's columns.
This is my RadGridView, and I want it to be ordered by the "Name" column
Here I set the ItemsSource property to an ObservableCollection:
And this is the function that changes the values of the observableCollection, and at the end of this function is where I want to order my Grid:
I have been searching through your webPage and I found this:
so I added this code to the function that modify the content of the observable collection:
But it doesn't work, I suppose I am doing something wrong, because when a value changes, the row goes to the las position on the grid.
Hope someone could help me, because I found a kind of article in your page named: Sorting DataGrid programatically, but the page is not working.
Thanks a lot!
This is my RadGridView, and I want it to be ordered by the "Name" column
<
telerik:RadGridView
Margin
=
"178,118,0,0"
Name
=
"gridAnalog"
AutoGenerateColumns
=
"False"
ColumnWidth
=
"Auto"
telerik:StyleManager.Theme
=
"Vista"
CanUserDeleteRows
=
"False"
CanUserInsertRows
=
"False"
ActionOnLostFocus
=
"None"
Height
=
"Auto"
VerticalAlignment
=
"Top"
Visibility
=
"Hidden"
IsReadOnly
=
"True"
HorizontalAlignment
=
"Left"
Width
=
"Auto"
>
<
telerik:RadGridView.Columns
>
<
telerik:GridViewDataColumn
Header
=
"Name"
DataMemberBinding
=
"{Binding Key}"
Width
=
"auto"
/>
<
telerik:GridViewDataColumn
Header
=
"Description"
DataMemberBinding
=
"{Binding Value.Description}"
Width
=
"auto"
/>
<
telerik:GridViewDataColumn
Header
=
"State"
DataMemberBinding
=
"{Binding Value.State}"
Width
=
"auto"
/>
<
telerik:GridViewDataColumn
Header
=
"Current value"
DataMemberBinding
=
"{Binding Value.Curval}"
Width
=
"auto"
/>
</
telerik:RadGridView.Columns
>
</
telerik:RadGridView
>
Here I set the ItemsSource property to an ObservableCollection:
gridAnalog.ItemsSource = SummaryDictionary.analogData;
And this is the function that changes the values of the observableCollection, and at the end of this function is where I want to order my Grid:
public
static
void
updateChanges(
string
key,
string
value)
{
//Here I change an entry from the ObservableCollection
subscriberData[key] = value;
//And now I want to order
}
I have been searching through your webPage and I found this:
gridAnalog.SortDescriptors.Add(
new
ColumnSortDescriptor()
{
Column = gridAnalog.Columns[
"Name"
],
SortDirection = ListSortDirection.Ascending
});
so I added this code to the function that modify the content of the observable collection:
public
static
void
updateChanges(
string
key,
string
value)
{
//Here I change an entry from the ObservableCollection
subscriberData[key] = value;
//And now I want to order
gridAnalog.SortDescriptors.Add(
new
ColumnSortDescriptor()
{
Column = gridAnalog.Columns[
"Name"
],
SortDirection = ListSortDirection.Ascending
});
}
Hope someone could help me, because I found a kind of article in your page named: Sorting DataGrid programatically, but the page is not working.
Thanks a lot!