【发布时间】:2019-05-22 20:13:48
【问题描述】:
我正在创建 CRUD 应用程序,基本上我想做的是创建数据网格,其中每一行都有自己的按钮来减少一个单元格的值(这是通过实体框架从 SQL 获取数据)。就像与数据库一起工作的代码正在工作,或者我稍后会解决这个问题,但我的问题正是在数据网格中显示按钮的方式。
显示如下: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”列的每一行都有一个按钮。基本上我得到的是每行中的 system.windows.controls.button 。单击该按钮会减少一个单元格和数据库中表格内部的值。
-
你能发布你的
Datagrid定义吗? -
我 xaml 它只像 "
" 带有名称和宽度参数。基本上列定义来自上面代码中的 DataTable。 (也许我应该在某处定义 DataGrid 的外观?)
标签: c# .net wpf button datagridview