Обработать результат LINQ to Sql запроса
От: Rammf Украина  
Дата: 01.06.09 06:56
Оценка:
Возникла проблемка:

Есть база данных, в ней таблица с данными пользователей (id,login, name, sname, pass)

На WPF форме размещен combobox в который необходимо залить всех пользователей а именно их id и фамилии строка должна выглядеть вот так: "(1) Иванов"

На данный момент получается добыть данные таким запросом:



var q = from o in db.programOperators select new { o.OperatorID, o.OperatorName };
//cmbOperators - тот самый комбобокс
cmbOperators.ItemsSource = q.OrderBy(t => t.OperatorName);




Все отлично работает, но строка в комбобоксе получается вида: "{operatorID = 1, operatorName = "Иванов"}"

Собственно вопрос: Каким способом можно изменить вид получаемой строки?
Я в Linq to Sql новичек, может сам метод получения данных я выбрал не правильный?
Проект WPF.

Заранее спасибо.
linq to sql c#
Re: Обработать результат LINQ to Sql запроса
От: KRA Украина  
Дата: 01.06.09 07:38
Оценка: 3 (1)
var q = from o in db.programOperators order by o.OperatorName select "(" + o.OperatorID.toString() + ")" + o.OperatorName ;
cmbOperators.ItemsSource = q;
Re[2]: Обработать результат LINQ to Sql запроса
От: Ziaw Россия  
Дата: 01.06.09 08:02
Оценка: +1
Здравствуйте, KRA, Вы писали:

KRA>
KRA>var q = from o in db.programOperators order by o.OperatorName select "(" + o.OperatorID.toString() + ")" + o.OperatorName ;
KRA>cmbOperators.ItemsSource = q;
KRA>


А при выборе ID предполагается извлекать при помощи парсинга строки?
... << RSDN@Home 1.2.0 alpha 4 rev. 1176>>
Re[3]: Обработать результат LINQ to Sql запроса
От: KRA Украина  
Дата: 01.06.09 08:33
Оценка:
Здравствуйте, Ziaw, Вы писали:

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


KRA>>
KRA>>var q = from o in db.programOperators order by o.OperatorName select "(" + o.OperatorID.toString() + ")" + o.OperatorName ;
KRA>>cmbOperators.ItemsSource = q;
KRA>>


Z>А при выборе ID предполагается извлекать при помощи парсинга строки?


Согласен, был не прав. Дальше отображения мысль не пошла.

Помнится какое-то время назад искал и нашёл только два решения для отображения, ни одно из которых не удовлетворило меня
1. переопределить toString у объектов из itemSource
2. определить новое свойство и указать его в DisplayMemberPath
Re: Обработать результат LINQ to Sql запроса
От: DuШes  
Дата: 01.06.09 08:42
Оценка: 3 (1)
Здравствуйте, Rammf, Вы писали:

...

var normalNameForVariable!!! = from o in db.programOperators select new { ID = o.OperatorID, Name = o.OperatorName }.ToList();
//cmbOperators - тот самый комбобокс
cmbOperators.DataSource = normalNameForVariable!!!;
cmbOperators.DataTextField = "ID" ;
cmbOperators.DataValueField = "Name" ;
cmbOperators.DataBind();
Re: Обработать результат LINQ to Sql запроса
От: Rammf Украина  
Дата: 01.06.09 11:41
Оценка:
Спасибо всем огромное.
Re[2]: Обработать результат LINQ to Sql запроса
От: Rammf Украина  
Дата: 01.06.09 11:57
Оценка:
Здравствуйте, DuШes, Вы писали:

DШ>Здравствуйте, Rammf, Вы писали:


DШ>...


DШ>
DШ>var normalNameForVariable!!! = from o in db.programOperators select new { ID = o.OperatorID, Name = o.OperatorName }.ToList();
DШ>//cmbOperators - тот самый комбобокс
DШ>cmbOperators.DataSource = normalNameForVariable!!!;
DШ>cmbOperators.DataTextField = "ID" ;
DШ>cmbOperators.DataValueField = "Name" ;
DШ>cmbOperators.DataBind();
DШ>



Пытаюсь повторить сей код (на этот раз я придумал нормальное имя для переменной ), но свойства DataSource у комбобокса нет. Пишу в 2008 студии, для фреймворка 3.5, на С#, WPF проект (на случай если это что то прояснит)
Re[3]: Обработать результат LINQ to Sql запроса
От: Grog13 Финляндия  
Дата: 01.06.09 14:35
Оценка:
Здравствуйте, Rammf, Вы писали:

R>Пытаюсь повторить сей код (на этот раз я придумал нормальное имя для переменной ), но свойства DataSource у комбобокса нет. Пишу в 2008 студии, для фреймворка 3.5, на С#, WPF проект (на случай если это что то прояснит)


ItemsSource?
Re[4]: Обработать результат LINQ to Sql запроса
От: Rammf Украина  
Дата: 01.06.09 18:26
Оценка:
Здравствуйте, Grog13, Вы писали:

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


R>>Пытаюсь повторить сей код (на этот раз я придумал нормальное имя для переменной ), но свойства DataSource у комбобокса нет. Пишу в 2008 студии, для фреймворка 3.5, на С#, WPF проект (на случай если это что то прояснит)


G>ItemsSource?


Да на самом деле все просто Макрософт решила поменть банальные свойства.

Оказалось в WPF DataSource == ItemSource, DataKey == DisplayMemberPath, DataValue == SelectedValuePath.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.