Как «Показать» кнопку в DataGrid из модели, созданной динамически? - PullRequest
0 голосов
/ 22 мая 2019

Я создаю приложение CRUD, и в основном я хочу создать сетку данных, где у каждой строки есть своя кнопка, чтобы уменьшить значение одной ячейки (которая получает данные из SQL с помощью Entity Framework). Как будто работает код, работающий с базой данных, или я исправлю это позже, но моя проблема в том, как именно показать кнопку в сетке данных.

Показано так: System.Windows.Controls.Button. Я не знаю, как это изменить.

Я искал эту проблему около 3 часов, и я не смог найти удовлетворительный ответ, который помог бы мне.

Часть класса, ответственная за обработку данных

    public Button SubstractByOne = new Button();

    public LearnDayAdvenced(LearningDays learnDay)
    {
        SubstractByOne.Name = "substract";            
        SubstractByOne.Click += new RoutedEventHandler(Button_click);
    }    

    protected void Button_click(object sender, EventArgs e)
    {
        SubstractTime();
    }

И код, отвечающий за отображение и создание данных. (Я знаю, что я должен рефакторинг это, но в случае проблемы это так)

ICollection<LearnDayAdvenced> learnDayAdvenceds = new List<LearnDayAdvenced>();

foreach (var learningDay in learningDaysAsSource)
{
    LearnDayAdvenced advencedLearnDay = new LearnDayAdvenced(learningDay);
    learnDayAdvenceds.Add(advencedLearnDay);
}

DataTable learningDataTable = new DataTable("Learn Days");
learningDataTable.Columns.Add(new DataColumn("Subject name", typeof(string)));
learningDataTable.Columns.Add(new DataColumn("time left", typeof(double)));
learningDataTable.Columns.Add(new DataColumn("Substract by 1", typeof(Button)));

foreach (var learnDay in learnDayAdvenceds)
{
    learningDataTable.Rows.Add(learnDay.LearnDay.subjectName, learnDay.LearnDay.learningTimeAmount, learnDay.SubstractByOne);
}

this.DataGrid.ItemsSource = learningDataTable.AsDataView();

1 Ответ

0 голосов
/ 23 мая 2019

См. Здесь: Добавить столбец кнопки в таблицу данных .

Скорее используйте шаблон, чтобы назначить кнопку каждому столбцу.Вы можете исключить его из таблицы данных.

Добавление кнопки в сетку данных WPF

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...