내가 PDF
에 WebGrid를 내보내려고 노력하고 있어요에 나는이 내 컨트롤러에 다음 코드 : 코드는이 라인에서 나에게 오류를주고있다ASP.Net MVC 내보내기 WebGrid PDF
public FileStreamResult CreatePdf()
{
List<CertificationListViewModel> all = new List<CertificationListViewModel>();
using (DBEntities db = new DBEntities())
{
all = db.Certifications.ToList();
}
WebGrid grid = new WebGrid(source: all, canPage: false, canSort: false);
string gridHtml = grid.GetHtml(
columns: grid.Columns(
grid.Column("Name", "Nome"),
grid.Column("Classification", "Classificação"),
grid.Column("Date", "Data de Realização")
)
).ToString();
string exportData = String.Format("<html><head>{0}</head><body>{1}</body></html>", "<style>table{ border-spacing: 10px; border-collapse: separate; }</style>", gridHtml);
var bytes = System.Text.Encoding.UTF8.GetBytes(exportData);
using (var input = new MemoryStream(bytes))
{
var output = new MemoryStream();
var document = new iTextSharp.text.Document(PageSize.A4, 50, 50, 50, 50);
var writer = PdfWriter.GetInstance(document, output);
writer.CloseStream = false;
document.Open();
var xmlWorker = iTextSharp.tool.xml.XMLWorkerHelper.GetInstance();
xmlWorker.ParseXHtml(writer, document, input, System.Text.Encoding.UTF8);
document.Close();
output.Position = 0;
return new FileStreamResult(output, "application/pdf");
}
}
:
나는 오류가 누군가가 ideia이 있다면 무엇인지 확실하지 않다Cannot implicitly convert type 'System.Collections.Generic.List<HIQTraining.Model.Certification>' to 'System.Collections.Generic.List<HIQTrainingSite.ViewModel.CertificationListViewModel>'
:
all = db.Certifications.ToList();
이 가 나타 오류입니다 내가 할 수있는 것이 무엇인지 고맙게 생각합니다!
P.S :
using iTextSharp.text;
using iTextSharp.text.pdf;
메시지를 자기 설명이다 -'all'입니다 'List'하지만 쿼리는'List '('CertificatesListViewModel' 컬렉션이 아닙니다)를 반환합니다 - 뷰 모델에 쿼리를 투영 (또는'all'의 정의를 변경)해야합니다 –
일반 'List'만이'CertificationListViewModel' 타입을 받아 들일 것이고리스트는'List
Kitson88