Я новичок в WPF, я использую шаблон MVVM в WPF и генерирую структуру Databletable во время выполнения, а затем привязываю DataTable с DataGrid/RadGridView, которая работает так, как и ожидалось. база данных. У меня есть ситуация, когда мне нужно создать пустой DataTable с различными столбцами (в зависимости от пользовательского ввода). И затем введите значения в эти столбцы, а затем нажмите «Сохранить необходимость сохранения значения» в базе данных. Я могу привязать DataTable с DataGrid (я вижу все имена столбцов и строки данных, если в сетке уже есть некоторые данные), но не в состоянии добавить (ENTER) или удалить какую -либо строку во время выполнения из DataGrid. Я установил значение «истинного» для CanuserDeleteterows и Canuserinsertrows. Я не уверен, где я ошибаюсь. Я реализую inotifypropertychanged в моем классе ViewModel. < /P>
Я изо всех сил пытаюсь получить желаемый результат. < /P>
Мой код выглядит так, как ниже: < /p>
viewmodel-< /p>
viewmodel-< /p>
viewmodel- DataTable _manualDataTable;
public DataTable ManualDataTable
{
get
{
return _manualDataTable;
}
set
{
_manualDataTable = value;
OnPropertyChanged("ManualDataTable");
}
}
< /code>
для создания dataTable-< /p>
void LoadManualDataTable()
{
DataTable dtData = new DataTable();
dtData.Columns.Add("TimeStamp", typeof(DateTime));
List columns = new List();
var query = _dataContext.GetSenData().Where(sen => sen.LogID == ((DataLogs)SelectedItemNode).Logger.LogID).Select(sen => sen.SeriesID);
var queryTS = _dataContext.GetDataSeries().Where(ts => query.Contains(ts.SeriesID));
foreach (DataSeries ts in queryTS)
{
var queryPLoc = _dataContext.GetDataLoc().Where(pLoc => pLoc.ParamID == ts.ParamID).Select(pLoc => pLoc.Name);
dtData.Columns.Add(queryPLoc.First(), typeof(string));
}
ManualDataTable = dtData;
}
< /code>
xaml code-< /p>
< /code>
DataTable создается, как и ожидалось (из метода LoadMualDatable), и если я добавлю какую -либо строку через код, то эти строки будут засыпаны и будут отображаться в данных DataGrid. Но я не могу создавать или удалять строки через DataGrid. < /P>
Любая помощь будет высоко оценена.
Подробнее здесь: https://stackoverflow.com/questions/928 ... n-wpf-mvvm
Свяжите DataTable с DataGrid в WPF & MVVM ⇐ C#
Место общения программистов C#
1756397295
Anonymous
Я новичок в WPF, я использую шаблон MVVM в WPF и генерирую структуру Databletable во время выполнения, а затем привязываю DataTable с DataGrid/RadGridView, которая работает так, как и ожидалось. база данных. У меня есть ситуация, когда мне нужно создать пустой DataTable с различными столбцами (в зависимости от пользовательского ввода). И затем введите значения в эти столбцы, а затем нажмите «Сохранить необходимость сохранения значения» в базе данных. Я могу привязать DataTable с DataGrid (я вижу все имена столбцов и строки данных, если в сетке уже есть некоторые данные), но не в состоянии добавить (ENTER) или удалить какую -либо строку во время выполнения из DataGrid. Я установил значение «истинного» для CanuserDeleteterows и Canuserinsertrows. Я не уверен, где я ошибаюсь. Я реализую inotifypropertychanged в моем классе ViewModel. < /P>
Я изо всех сил пытаюсь получить желаемый результат. < /P>
Мой код выглядит так, как ниже: < /p>
viewmodel-< /p>
viewmodel-< /p>
viewmodel- DataTable _manualDataTable;
public DataTable ManualDataTable
{
get
{
return _manualDataTable;
}
set
{
_manualDataTable = value;
OnPropertyChanged("ManualDataTable");
}
}
< /code>
для создания dataTable-< /p>
void LoadManualDataTable()
{
DataTable dtData = new DataTable();
dtData.Columns.Add("TimeStamp", typeof(DateTime));
List columns = new List();
var query = _dataContext.GetSenData().Where(sen => sen.LogID == ((DataLogs)SelectedItemNode).Logger.LogID).Select(sen => sen.SeriesID);
var queryTS = _dataContext.GetDataSeries().Where(ts => query.Contains(ts.SeriesID));
foreach (DataSeries ts in queryTS)
{
var queryPLoc = _dataContext.GetDataLoc().Where(pLoc => pLoc.ParamID == ts.ParamID).Select(pLoc => pLoc.Name);
dtData.Columns.Add(queryPLoc.First(), typeof(string));
}
ManualDataTable = dtData;
}
< /code>
xaml code-< /p>
< /code>
DataTable создается, как и ожидалось (из метода LoadMualDatable), и если я добавлю какую -либо строку через код, то эти строки будут засыпаны и будут отображаться в данных DataGrid. Но я не могу создавать или удалять строки через DataGrid. < /P>
Любая помощь будет высоко оценена.
Подробнее здесь: [url]https://stackoverflow.com/questions/9284026/bind-datatable-with-datagrid-in-wpf-mvvm[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия