我正在尝试创建一个数据网格,该数据网格将显示我创建的类对象中的数据。到目前为止,使用我当前的代码,它将在我编码的列中显示正确的单元格数量,但实际上不会填充数据。
对象类别:
public class RCTask
{
public long tID = 0;
public string taskTitle;
public TimeSpan startTime;
public TimeSpan endTime;
public TimeSpan hoursSpent;
public bool sorted = false;
public RCTask()
{ }
该列表位于另一种形式上,因此我正在使用一个属性来访问它。DataGrid编码:
private void bindTimes()
{
taskTimesSource.DataSource = Program.timesheetListI;
gridTimes();
}
private void gridTimes()
{
timesGrid.AutoGenerateColumns = true;
DataGridViewCell cell = new DataGridViewTextBoxCell();
DataGridViewTextBoxColumn ID = new DataGridViewTextBoxColumn()
{
CellTemplate = cell,
Name = "idColumn",
HeaderText = "ID",
DataPropertyName = "taskTitle"
};
timesGrid.Columns.Add(ID);
}
首先,您必须将RCTask
类的字段封装为属性。例如,如果你想显示的值taskTitle
中DataGridView
,你必须定义公共财产是这样的:
public class RCTask
{
public long tID = 0;
public string taskTitle;
public TimeSpan startTime;
public TimeSpan endTime;
public TimeSpan hoursSpent;
public bool sorted = false;
public string TaskTitle
{
get
{
return taskTitle;
}
}
public RCTask()
{ }
}
其次,您必须更改数据设置过程的顺序。DataSource
在初始化表结构后进行设置,如下所示:
private void bindTimes()
{
// Initialize table structure
gridTimes();
// Set data
taskTimesSource.DataSource = Program.timesheetListI;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句