カスタムリストをデータグリッドにバインドするプロジェクトに取り組んでいました。現在のアプリケーションに問題があるのではないかと考えたので、4.0 で同じ問題を抱えた新しいサンプル アプリケーションを作成することにしました。
namespace WindowsFormsApplication1
{
public partial class Form1 : Form`
{
public Form1()
{
InitializeComponent();
}
private void populate()
{
List<BillInfoCustom> oSalesList = new List<BillInfoCustom>();
BillInfoCustom oSalesType = new BillInfoCustom() { BillId = 1, BillDate = DateTime.Now.ToLongDateString(), CashPayment = 10, CreditCardPaymet = 20, CustomerName = "asda", TotalPrice = 20.0 };
BillInfoCustom oSalesType2 = new BillInfoCustom() { BillId = 1, BillDate = DateTime.Now.ToLongDateString(), CashPayment = 10, CreditCardPaymet = 20, CustomerName = "asda", TotalPrice = 20.0 };
BillInfoCustom oSalesType3 = new BillInfoCustom() { BillId = 1, BillDate = DateTime.Now.ToLongDateString(), CashPayment = 10, CreditCardPaymet = 20, CustomerName = "asda", TotalPrice = 20.0 };
oSalesList.Add(oSalesType);
oSalesList.Add(oSalesType2);
oSalesList.Add(oSalesType3);
dataGridView1.DataSource = oSalesList;
}
private void button1_Click(object sender, EventArgs e)
{
populate();
}
}
public class BillInfoCustom
{
public int BillId;
public double TotalPrice;
public double CashPayment;
public double CreditCardPaymet;
public string CustomerName;
public string BillDate;
}
}
ボタンを押した後の出力は次のとおりです。