【发布时间】:2018-04-21 04:58:48
【问题描述】:
我目前正在开发一个程序,该程序应该根据表的选择创建发票并添加行。
这是我的表(使用 DevExpress 创建):
这些是具有公司 ID 作为参考的未来发票行。
我想要对未来按钮“创建发票”执行的操作是为每个选定的 ID 创建 1 张发票,并将所有选定的行添加到 invoicelines 表中。
我的桌子是:
发票
发票编号
公司编号
发票行
身份证
发票编号
标题 ....
根据我的示例图片,我想要的结果是:
2 张发票,每张添加 2 行
问题是我不知道如何在我的代码中处理这个问题。
我目前有:
private void btn_ExportToDB_ItemClick(object sender, ItemClickEventArgs e)
{
List<int> PWIDs = new List<int>();
List<int> distinct = new List<int>();
Dictionary<int, int> lines = new Dictionary<int, int>();
if (gridView.SelectedRowsCount > 0)
{
for (int i = gridView.SelectedRowsCount - 1; i >= 0; i--)
{
int rowHandle = gridView.GetSelectedRows()[i];
int PWID = int.Parse(gridView.GetRowCellValue(rowHandle, "pwID_PW").ToString());
PWIDs.Add(PWID);
lines.Add(rowHandle, PWID);
MessageBox.Show("customer id " + PWID);
distinct = PWIDs.Distinct().ToList();
}
foreach (int value in distinct)
{
}
}
}
我尝试执行以下操作:
1- 创建一个字典,在其中放置选定的行句柄 + pwID。
2- 之后,我遍历我的字典并选择不同的 pwID 值(这些用于我的发票)。
3- 此后,我被我的发票行卡住了,我似乎无法将其添加到我的发票行表中,因为我认为我处理此问题的设计是错误的。
我怎样才能以最有效的方式解决这个问题?
【问题讨论】:
-
我已经描述了我的问题(似乎无法找到一种方法来设计一种在 2 个表中插入值的方法),我已经告诉了我到目前为止所尝试的内容(创建了字典)并告诉了以后的问题是我被我的发票卡住了。
-
我已经添加了我的代码(=我的尝试)。如您所见,我的方法不起作用,因为我遇到了一个不同值的列表,我以后无法与发票行匹配。因此为什么我问解决这个问题的最佳方法是什么