所以我正在尝试创建一个Windows窗体应用程序,我想创建一个Transaction Windows窗体。
所以我想创建某种购物车,只要用户按下“添加”按钮就会出现在列表框中
我试图通过使用BindingList将购物车显示到列表框,问题是列表框本身显示了BindingList项的对象
代码
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 Pertemuan03
{
public partial class Transaction : Form
{
class Cart{
public string ProductID { get; set; }
public string name { get; set; }
public int quantity { get; set; }
};
BindingList<Cart> shoppingList = new BindingList<Cart>();
public Transaction()
{
InitializeComponent();
listBox1.FormattingEnabled = true;
listBox1.DataSource = shoppingList;
}
private void button1_Click(object sender, EventArgs e)
{
shoppingList.Add(new Cart {ProductID = comboBox1.SelectedItem.ToString(),name= textBox1.Text,quantity = (int)numericUpDown1.Value});
listBox1.FormattingEnabled = true;
listBox1.DataSource = null;
listBox1.DataSource = shoppingList;
}
}
}
它显示像这样
Problem
答案 0 :(得分:0)
如果我的问题正确,您必须设置显示成员属性。 (cfr MSDN)
BindingList<TestType> testList = new BindingList<TestType>();
testList.Add(new TestType() { NameToDisplay = "MyName" });
myListBox.DataSource = testList;
myListBox.DisplayMember = "NameToDisplay";