私はいくつかの情報を持つデータベースを持っており、簡単なフィルタを作成しました。私はまた、各ループのためのクラスを作成して、その情報をpdfフィールドに設定しました。私はフィルタのデータだけで同じフィールドにデータを取り込む方法を理解しようとしています。例えば、私は特定の都市の人と私がフィルタリングしたPDFを作りたいと思っています。フィルタリングされたデータからPDFフィールドを取り込むMVC5
これは、フィールドを設定するクラスです。今のところ、フィールドに値が入力され、データベースのすべてのエントリのPDFが作成されます。フィルタリングされたデータのみからPDFを作成して作成する必要があります。
public void CreateVoucher()
{
Aspose.Pdf.License license = new Aspose.Pdf.License();
license.SetLicense("Aspose.Pdf.lic");
Aspose.Pdf.Facades.Form pdfForm = new Aspose.Pdf.Facades.Form();
var output = Server.MapPath("/PrintingOutput/");
using (var db = new db_VouchersEntities())
{
var voucher = db.JUXLSY.ToList();
foreach (var vouch in voucher)
{
pdfForm.BindPdf(Server.MapPath("/VoucherTemplate/VoucherCertificateTemplateForm.pdf"));
pdfForm.FillField("topmostSubform[0].Page1[0].AseguradoraTxt[0]", vouch.SUCUR);
if (Directory.Exists(output) == false)
{
Directory.CreateDirectory(output);
pdfForm.FlattenAllFields();
pdfForm.Save(output + vouch.SUCUR.ToString().Trim() + '_' + vouch.NOMBRE_AGENTE.ToString().Trim() + '_' + vouch.PCERNO.ToString().Trim() + ".pdf");
}
else
{
pdfForm.FlattenAllFields();
pdfForm.Save(output + vouch.SUCUR.ToString().Trim() + '_' + vouch.NOMBRE_AGENTE.ToString().Trim() + '_' + vouch.PCERNO.ToString().Trim() + ".pdf");
}
}
}
}
FilterRecordsアクションメソッドでifステートメントを追加するだけですか? rは、他の方法
public ActionResult FilterRecords(string sucursal, string numPoliza,
string numAgente, string numCertificado)
{
var filteredRecords = RequestRecords(sucursal, ...);
// store your filter parameters in a session
Session["sucursal"] = sucursal;
//filter to be display to the user
if (!String.IsNullOrWhiteSpace(sucursal))
{
filterRecord = filterRecord.Where(r => r.SUCUR.Contains(sucursal));
}
return View(filteredRecords);
}
これらは2つの独立したボタンで、1つはFilterReccordsを呼び出し、フィルタリングされたレコードを表示し、もう1つは作成バウチャーを呼び出してPDFを印刷します。それは大変感謝しています。しかし、いくつかの点を明確にすることができます、私はちょうどMVCを働き始めている。どこに "TypeOfYourRecords"を置くかは、特別なメソッドを作成して文字列として定義すると、それらはすべて文字列です。それは私に "文字列にSystem.Linq.IQueryble型を暗黙的に変換できない"というメッセージを与えます。私はそこに何を置くべきですか?また、FilterRecordメソッドでは、私はあなたがすべてのパラメータのために追加したものを繰り返しますか?前もって感謝します。 – Cordero
[OK]をクリックすると、クエリー自体が返されました。その結果、「暗黙的に型を変換できません」というエラーが発生しました。だから、クエリの周りに丸い括弧とデータベースに対してクエリを実行し、あなたのケースの文字列のリストを返す.ToList()呼び出しを認識してください。私はすべてのメソッドの完全な署名で自分の投稿を編集するので、今はもっと明確になることを願っています。 – Axel
申し訳ありませんが、私はまたあなたのデータベースに格納されている種類のモデルを使用するasumed。文字列は問題ないので、文字列のリストを返すように署名を編集します – Axel