0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 13
|
||||||
1 | ||||||
LINQ при привязке List<string[]> к DataGrid.DataContext через IBindingList01.10.2013, 12:04. Показов 2230. Ответов 12
Метки нет (Все метки)
Приветствую сообщество.
Что неправильно в выражении LINQ, приведенном ниже ? Дебаггер показывает что X_loc прекрасно формируется, но qper_loc = null. Цель экзерсисов - привязать List<string[]> к DataGrid.DataContext через IBindingList. Заранее благодарен за помощь.
0
|
01.10.2013, 12:04 | |
Ответы с готовыми решениями:
12
Linq преобразование List<List<double>> в List<Array> Разбить List<string> на несколько обьектов c List<string> Конвертировать один элемент из List<List<Class>> в list и string Как передать list<string> в поток и как такой же list<string> вывести из потока? |
6287 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
|
||||||
01.10.2013, 13:04 | 2 | |||||
1
|
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 13
|
|||||||||||
01.10.2013, 14:57 [ТС] | 3 | ||||||||||
Пётррр, спасибо большое.
Датасурс появился, он заполнен. Однако DataGrid не заполняется значениями (остается серый и пустой). М.б. дело в том, что используется не DataGridView, как у Вас в примере, а DataGrid проекта wpf? Проект - именно wpf, после формирования DataSource делаю следующее:
0
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
||||||||||||||||
01.10.2013, 16:18 | 4 | |||||||||||||||
Если мУсье работает с WPF то он должен знать, что надо указывать биндинг с контексту:
1
|
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 13
|
|
01.10.2013, 16:45 [ТС] | 5 |
Константин, спасибо за реплику.
В данном случае мусье не работает, а развлекается, и находит предпочтительным развлекаться именно с WPF. Что именно мусье должен прописать как ItemsSource={Binding} ? ("{ не допускается в имени" - всплывающая подсказка среды). Из "бррр.... если пользуетесь привязками." понял, что Refresh излишен при нормально заданном DataContext. Мне тоже показалось странным делать Refresh, так видел в каком-то примере.
0
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
||||||
01.10.2013, 16:52 | 6 | |||||
Не по теме: вот собственно и ответ на свой вопрос я получил (так негласно) вы пока что работаете с WPF как с обычными WinForms
1
|
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 13
|
||||||
02.10.2013, 11:56 [ТС] | 7 | |||||
константин, спасибо еще раз
всё лучше и лучше грид побелел и в нем появились строки по числу в ДатаСорс и столбцы по числу определенных в свойствах, но значения не отображаются (всё белое) - без разницы делать рефреш или нет на не по теме - я не могу работать с wpf как c winforms т.к. winforms я тоже не знаю ) Добавлено через 26 минут спасибо, проставил автогенерацию столбцов день удался ))) Добавлено через 18 часов 18 минут всем спасибо еще раз приведенный Петррром код с учетом замечаний Константина прекрасно работает но есть одно но в идеале хотелось определить такой BindingList через LINQ как член класса, чтобы можно было один раз его присвоить DataGrid.DataContext и дальше забыть об его обновлении. т.е. чтобы при каждой модификации исходного List<string[]> DataGrid обновлялась "сама". в приведенном же Петррром примере всё происходит через присваивание
удовлетворить такие желания средствами C# вообще возможно ? поверхностное чтение создало впечатление что возможно. как?
0
|
6287 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
|
|
02.10.2013, 12:04 | 8 |
DataGrid не будет сам обновляться, потому что для этих целей нужно унаследовать интерфейс INotifyPropertyChanged. Так как там анонимный тип, ничего не выйдет.
И вообще не понятно, зачем вы собрались делать такое убожество. Неужели сложно создать один класс с двумя свойствами.?
1
|
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 13
|
|
02.10.2013, 12:21 [ТС] | 9 |
Петррр, почему убожество ? ))
Что за "один класс с двумя свойствами"? структура - пара стрингов ? ) если речь об этом, то это же неинтересно) или Вы что то другое имеете в виду ? проект чисто учебный, вот в том числе выясняю что можно и что нельзя реализовать через DataGrid. спасибо за ответ, посмотрю про INotifyPropertyChanged.
0
|
6287 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
|
|
02.10.2013, 12:23 | 10 |
Именно.
Добавлено через 24 секунды А учиться делать не правильно интересно?
1
|
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 13
|
|
02.10.2013, 12:35 [ТС] | 11 |
дело в том, Петррр, что вся эта задачка абсолютно "неправильная", т.е. прекрасно решается массой других, уже существующих средств
почему Вы пишете "не правильно" ? Вы имеете ввиду, что фиксированная структура из строк при работе с DataGrid вообще лучше чем List<string[]> ? Чем лучше ? Вроде бы List<string[]> универсальнее, но м.б. я чего то не понимаю, объясните.
0
|
6287 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
|
|
02.10.2013, 12:48 | 12 |
Если у вас куча источников, которые могут обновить этот список, то вам постоянно придется писать то, что написано во втором посте.
1
|
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 13
|
||||||
02.10.2013, 13:15 [ТС] | 13 | |||||
да, посмотрев внимательнее, увидел в чем сложность.
думаю это можно как-то решить явным созданием типов из кода (вместо
хотя, конечно, выходит за рамки моих нынешних скромных целей ) спасибо
0
|
02.10.2013, 13:15 | |
02.10.2013, 13:15 | |
Помогаю со студенческими работами здесь
13
List<string> запись данных через запятую и определенное количество Передача и принятие объекта List<string> через StreamWriter и StreamReader List<string, string, string> есть ли в C# что-то подобное? Ошибка приведения типа при дешифровке List<string> Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |