【发布时间】:2018-03-03 07:49:18
【问题描述】:
我有一个包含 9 列的产品表,我有另一个表,我只想有 4 列,这就是我声明这个的原因
private void SetCartColumns()
{
cartTable.Columns.Add("Product Code", typeof(Int32));
cartTable.Columns.Add("Product Name", typeof(String));
cartTable.Columns.Add("Product Quantity", typeof(Int32));
cartTable.Columns.Add("Total Price", typeof(double));
}
现在我想将我的产品表中选定的索引或项目添加到购物车表中,这里是代码
private void BtnAddToCart_Click(object sender, RoutedEventArgs e)
{
if (dtgProducts.SelectedItem == null)
{
MessageBox.Show("There is no selected rows!");// show a message here to inform
}
else
{
while (dtgProducts.SelectedItems.Count > 0)
{
int selectedIndex = dtgProducts.SelectedIndex;
var selectedRows = ((DataRow)searchTable.Rows[selectedIndex]);
int code = selectedRows.Field<int>(("Code"));
string name = selectedRows.Field<string>(("Name"));
int quan = selectedRows.Field<int>(("Quantity"));
float price = selectedRows.Field<float>(("Price"));
double totalPrice = Convert.ToDouble(price);
cartTable.Rows.Add(new Object[] { code, name, quan, totalPrice });
}
dtgCart.ItemsSource = cartTable.AsDataView();
}
}
但是每当我单击“添加到购物车”按钮时,什么都没有发生,而是我的程序挂起,除了停止调试之外我无法单击任何内容.. 有人会告诉我如何将新项目添加到具有选定列的新表中只有
【问题讨论】:
-
你能发布你的DataGrid的xaml吗?你不需要在你的代码中做这么多的工作来控制你的 DataGrid。