我正在尝试使用 linq 创建一个新对象并将其添加到我的数据库中。类别和供应商的值是从组合框中选择的。组合框数据源来自数据库(我使用了 linq),DisplayMember 和 Valuemember 也是如此。我无法获取所选组合框的值(valueMember)来使用它来创建新对象。我不明白有什么问题。
这是我的代码:
DataClasses1DataContext db = new DataClasses1DataContext();
bool lo;
public Form2()
{
InitializeComponent();
lo = false;
var category = from Category in db.Categories
select new
{
categorytName = Category.CategoryName,
categoryID = Category.CategoryID
};
comboBox1.DataSource = category;
comboBox1.DisplayMember = "categorytName";
comboBox1.ValueMember = "categoryID";
var supplier = from Supplier in db.Suppliers
select new
{
suppliertName = Supplier.CompanyName,
supplierID = Supplier.SupplierID
};
comboBox2.DataSource = supplier;
comboBox2.DisplayMember = "suppliertName";
comboBox2.ValueMember = "supplierID";
lo = true;
}
private void button1_Click(object sender, EventArgs e)
{
// Create a new product.
Product newProduct = new Product
{
ProductName = textBox1.Text,
UnitPrice = Convert.ToDecimal(textBox2.Text),
CategoryID = comboBox2.ValueMember,
//SupplierID = Convert.ToInt32(comboBox1.Text)
};
// Add the new object to the product collection.
db.Products.InsertOnSubmit(newProduct);
//Submit all changes.
db.SubmitChanges();
}
Run Code Online (Sandbox Code Playgroud)
代替:
comboBox2.ValueMember
Run Code Online (Sandbox Code Playgroud)
和:
comboBox2.SelectedValue
Run Code Online (Sandbox Code Playgroud)