小编Ole*_*e M的帖子

根据 CheckBoxColumn 中的选择在 WebView2 中打开 PDF

所以,

\n

在我的 WPF 应用程序中,我希望我的用户能够打开发票预览,以便他们可以验证或丢弃它们。DataGridCheckBoxColumn我让他们检查我的a 中的行(每一行代表一张发票)DataGrid,然后单击一个按钮(运行我的CreateInvoicePreview()方法,请参阅帖子底部),让所有发票预览在新窗口中打开(每个发票一个窗口)发票)。

\n

嗯.. 现在发生的事情是:用户检查 InvoiceA 和 InvoiceB。开具了两张发票,但它们是相同的:InvoiceC。始终会开立正确数量的发票,但不会开立正确的实例。如果我打开文件路径中指定的临时文件夹,我会看到数据网格中的所有发票均已保存:InvoiceA 到 InvoiceJ。

\n

让我带您浏览一下代码。

\n

这是创建并保存实际 PDF 的方法,WebView2控件将其用作源,以便可以在应用程序中显示它们。它被大量缩写。\n我保留了嵌套的结构,foreach loops以防相关。

\n
public void CreatePreviewInvoice() {\n\n    /* SQL SERVER CODE\n     * SQL SERVER CODE\n     * SQL SERVER CODE */\n\n    List<PaidTrip> paidTrips = PaidTrips.ToList();\n\n    tripsGroupedByCompany = paidTrips.GroupBy(pt => pt.LicenseHolderID);\n\n    foreach (IGrouping<string, PaidTrip> companyGroup in tripsGroupedByCompany) {\n\n        /* SQL SERVER CODE\n         * SQL SERVER CODE\n         * SQL SERVER CODE */\n\n …
Run Code Online (Sandbox Code Playgroud)

c# sql-server wpf foreach loops

5
推荐指数
1
解决办法
1756
查看次数

通过迭代将多个附件从光盘添加到电子邮件

更新我用 Excel 文档而不是 PDF 对此进行了测试,并且它有效。为什么它不能与 PDF 一起使用?

我试图通过迭代文件路径字符串列表来向电子邮件添加 X 个附件。相反,我收到了 X 个附件,但它们都是同一文件的副本。因此,附件的数量是正确的,但其内容却不正确。

即使这样也会发生:

  1. PDF 文件已正确保存在磁盘上。
  2. 调试时,文件路径列表是正确的。
  3. 调试时,文件名和文件路径是不同的。

我正在使用FluentEmail发送电子邮件。另外,我基于以下示例(请参阅“多个附件”部分)。

我添加Debug.WriteLine(path)只是为了检查我是否能够正确输出循环中的字符串,我就是这样。

我的方法:

public async void SendInvoicesEmail() {

    try {

        using (SqlConnection con = new(ConnectionString.connectionString))
        using (SqlCommand cmd = new("query text", con)) {

            con.Open();

            SmtpSender sender = new SmtpSender(() => new SmtpClient(host: "smtp.office365.com") {

                EnableSsl = true,
                UseDefaultCredentials = false,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                Credentials = new NetworkCredential("email", "password"),
                Port = 587
            });

            Email.DefaultSender = sender;
            IFluentEmail …
Run Code Online (Sandbox Code Playgroud)

c# loops

5
推荐指数
1
解决办法
1649
查看次数

C#:根据设定的周期增加发票号

我正在创建递增的发票编号,如下所示:AABBBB1122

'A' 和 'B' 绑定到我的代码中的标识符。但是我需要的数字分别是monthyear。例如:0821 (2021 年 8 月)。我不想以任何方式将它连接到日历。如果可能,我想定义一个开始日期,并从那里增加。

也就是说:0821必须增加到0921102111211221 - 在年份增加之前;0122

我怎样才能做到这一点?

到目前为止我所得到的:

string AA {
    get { return this.IdentifierA.Substring(0, 2);
    set { SetAndNotify(ref this.AA, value); }
}

string BB {
    get { return this.IdentifierB.Substring(0, 4);
    set { SetAndNotify(ref this.BB, value); }
}

string InvoiceNumber {
   get { return String.Concat(AA + BB + /* what goes here? */).ToUpper(); }
   set { …
Run Code Online (Sandbox Code Playgroud)

c# string-concatenation

2
推荐指数
1
解决办法
88
查看次数

标签 统计

c# ×3

loops ×2

foreach ×1

sql-server ×1

string-concatenation ×1

wpf ×1