我是编程新手,只了解基础知识。我只是想知道如何实现这一目标。谢谢,我有一个日期选择器,datagridview,textbox1和tb_amount。我想用依赖于日期选择器的日期和依赖于textbox1的计数填充datagridview,而tb_amount将根据计数进行划分。像这样:例如
date picker = 2-1-2019
textbox1 = 3
tb_amount = 15
dgv中的输出应如下所示:
Amount | Date
-------------------
5 | 3-1-2019
5 | 4-1-2019
5 | 5-1-2019
答案 0 :(得分:0)
达成目标的想法如下:
您需要生成集合,其中每个元素代表一行,并将该集合作为数据源分配给datagridview。选择哪种集合和哪种元素类取决于您允许用户与网格进行哪种交互(添加/删除行,编辑行等)。请参阅this page的建议。
datagridview中的每一列显示数据源中Elements的属性值。要定义列显示的属性,请使用列的DataPropertyName
属性(请参见DataPropertyName)。如果您未在datagridview中定义任何列,则将为每个公共属性创建一个列(该列的标题为属性Name)。
现在,在您的特定情况下,您可能有一个用于处理数据的类。我希望您有一个包含日期的属性,一个包含日期的属性,所以像这样:
public class MyClass
{
public DateTime Date {get; set;}
public int Amount {get; set;}
// and some other properties
}
您的datagridview应该有两列:
现在您可以按以下方式生成您的收藏集:
var myCollection = new List<MyClass>();
int numberOfRows = int.Parse(TextBox.Text);
for (int i = 0; i < numberOfRows; i++){
var element = new MyClass() {
Date = datepicker.Value.AddDays(i),
Amount = tb_amount / numberOfRows
}
myCollection.Add(element);
}
datagridview.datasource = myCollection;