2010-04-27 4 views
1

Как получить выбранный элемент в WPat datagrid? Пробовал следующее, без везения;WPF Datagrid Получить выделенный элемент

dataGrid1.CurrentCell.Item.ToString(); 
string[] strsplit = dataGrid1.SelectedValue.ToString().Split('+'); 
dataGrid1.SelectedCells[0].Item.ToString(); 
dataGrid1.CurrentItem.ToString(); 

dataGrid1.CurrentCell.Item.ToString(); 
dataGrid1.CurrentCell.Item.ToString(); 
+0

Значение я получаю обратно eobfrontend.ManageFormats + theformats Не совсем значение поля я искал. – wonea

ответ

1

Найден способ создания объекта на основе линии. Тогда вы можете напрямую получить доступ к полю внутри документа datagrid.

theformats lineobject = (theformats)groups_dataGrid1.CurrentCell.Item; 
    string linetext = lineobject.theformat.ToString(); 
3

Я не уверен, что полностью понял ваш примерный код выше.

Какое первое утверждение предполагается сделать? только он ничего не сделает.

Чтобы получить выбранное значение, попробовав.

var myValue = dataGrid1.SelectedItems[0].ToString(); // I'm not sure what type you expecting It looks like a string. 

Edit: Что Выбор режима является DataGrid установлен? Если он будет расширен, я бы ожидал, что это будет работать. Если установлен в один режим.

var myValue = dataGrid1.SelectedItem[0].ToString(); 

Edit2: Какой тип объекта находятся в DataGrid? Что вы выбираете?

+0

Невозможно получить доступ к атрибуту Value, я получаю эту ошибку при компиляции Ошибка «объект» не содержит определения для «Значение», а метод расширения «Значение», принимающий первый аргумент типа «объект», не может (вы не указали директиву использования или ссылку на сборку?) – wonea

+1

Вы правы, что свойство SelectedItem не имеет значения «Значение». Я изменил приведенный выше код, чтобы отразить это. У меня нет доступа к компилятору для тестирования чего-либо, но я думаю, что SelectedItems - это то, что вы хотите использовать. Это позволит выбрать элемент (Row, Object, Whatever), и вы получите доступ к нему в зависимости от типа. – Neal

+1

@wonea: Какой тип объекта выбирается? Являются ли они им особым классом, это список, какой он тип? – Neal

1
DataRowView myRow = (DataRowView)dataGrid.CurrentCell.Item; 
string myvalue = Convert.ToInt32(linha.Row.ItemArray[0].ToString()); 
Смежные вопросы