你不能使用BindingList<PurchaseOrderItem>
? 這應該允許您將項目添加到您的收藏從DGV控制(使用空行)
編輯:我創建簡單的WinForm程序, 只在主窗體
Form1中DGV控制。 cs代碼:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1 {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
list.Add(new PurchaseOrderItem() {
PONumber = 1,
Description = "First item",
UM = "something",
QTY = 2341,
Cost = 0.99M
});
dataGridView1.DataSource = list;
dataGridView1.RowsAdded += new DataGridViewRowsAddedEventHandler(dataGridView1_RowsAdded);
}
void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) {
object o = list; // added for breakpoint with variable viewing
// you can watch your list changing here, when you add new rows
}
BindingList list = new BindingList();
}
public class PurchaseOrderItem {
public Int64 PONumber { get; set; }
public string Description { get; set; }
public string UM { get; set; }
public int QTY { get; set; }
public decimal Cost { get; set; }
}
}
您是否使用Item/EditItem/Footer模板?空白行可以作爲頁腳模板的一部分創建,然後您可以簡單地將您的PurchaseOrderItem的列表綁定到網格。另外,什麼阻止你將一個空的'PurchaseOrderItem'附加到你的集合,然後綁定到'.DataSource'? –