Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > WPF dataGrid1 активация строки по значению


Автор: StepanBorovikov 17.10.2010, 10:59
Помогите кто может.

Как програмно установить курсор в dataGrid1 на строке в которой есть определенное значение в колонке. Ну например нужно установить курсов в строке где UID равен 12.

Определение строк элемента:

Код

          <DataGrid.Columns>
                <DataGridTextColumn Header="Name" Binding="{Binding Path=Name}" MinWidth="380" />
                <DataGridTextColumn Header="UID"  Binding="{Binding Path=UID}" MinWidth="50" />
                <DataGridTextColumn Header="Data"  Binding="{Binding Path=Data}" MinWidth="80" />
            </DataGrid.Columns>

 

Коллекция:

Код

public class TMC
        {
            public string Name { get; set; }
            public string UID { get; set; }
            public string Data { get; set; }
            public string Selected { get; set; }
            public int Row { get; set; }
        }


Присвоение элементу DataGrid1

Код

            coll = new ObservableCollection<TMC>();
            dataGrid1.ItemsSource = coll;



Заранее благодарен

Автор: StepanBorovikov 17.10.2010, 11:20
Было бы здорово если подсказали как подкрасить колонку програмно.

Я подкрасил из HAMEL вот так:

Код

<DataTrigger Binding="{Binding Path=Selected}" Value="1">
                            <Setter Property="Foreground" Value ="Red"/>
                            <Setter Property="FontWeight" Value ="Bold"/>
                            <Setter Property="FontStyle" Value ="Italic"/>
                            <Setter Property="Background" Value="Green"/>
                        </DataTrigger>


Но хотелось бы делать это из кода программы.

Автор: StepanBorovikov 17.10.2010, 20:45
Вроде разобрался.

Если 
dataGrid1.ItemsSource = coll;

где coll это некая колекция, то присвоив свойству SelectedItem некоторый член колекции курсор встает на строку отражающию этот член коллекции.

Вот так:

dataGrid1.SelectedItem = coll[4];

Ну а найти некоторое значение в колекции и получить индекс элемента уже не сложно.


Автор: WolfTheGrey 17.10.2010, 21:51
начал про портизанов а закончил про войну.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)