Идея получить то, что вы хотите сделать, заключается в следующем:
Вам необходимо создать коллекцию, в которой каждый элемент представляет строку, и назначить эту коллекцию в качестве источника данных для сетки данных.Какой тип коллекции и какой класс элементов выбрать, зависит от того, какое взаимодействие с сеткой вы разрешаете пользователю (добавлять / удалять строки, редактировать строки и т. Д.).См. Примечания на этой странице .
. Каждый столбец в вашем сетевом представлении показывает значение свойства Элементов в источнике данных.Чтобы определить, какое свойство отображает столбец, используйте свойство столбца DataPropertyName
(см. DataPropertyName ).Если вы не определите ни одного столбца в своем представлении данных, будет создан столбец для каждого открытого свойства (заголовок столбца - это свойство Name).
Теперь в вашем конкретном случае у вас, вероятно, есть классобрабатывать ваши данные.И я ожидаю, что у вас есть одно свойство, содержащее дату и одно количество, поэтому что-то вроде этого:
public class MyClass
{
public DateTime Date {get; set;}
public int Amount {get; set;}
// and some other properties
}
Ваше представление данных должно иметь два столбца:
- столбец 1: HeaderText =«Моя сумма подписи» и DataPropertyName = «Amout»
- столбец 2: HeaderText = «Моя дата подписи» и DataPropertyName = «Дата»
Теперь вы можете создать свою коллекцию следующим образом:
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;