تهیه خروجی PDF و اکسل از حاصل جستجوی پویای jqGrid به کمک PDF Report
نویسنده: وحید نصیری
تاریخ: ۱۳۹۳/۰۴/۱۶ ۸:۵
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
@section Scripts
{
<script type="text/javascript">
$(document).ready(function () {
$('#list').jqGrid({
caption: "آزمایش ششم",
// مانند قبل
}).navGrid(
// مانند قبل
}).jqGrid('navButtonAdd', '#pager', {
caption: "", buttonicon: "ui-icon-print", title: "خروجی پی دی اف",
onClickButton: function () {
$("#list").jqGrid('excelExport', { url: '@Url.Action("GetProducts", "Home")' });
}
});
});
</script>
}
public ActionResult GetProducts(string sidx, string sord, int page, int rows,
bool _search, string searchField, string searchString,
string searchOper, string filters, string oper) namespace jqGrid06.Models
{
public class JqGridRequest
{
public string sidx { set; get; }
public string sord { set; get; }
public int page { set; get; }
public int rows { set; get; }
public bool _search { set; get; }
public string searchField { set; get; }
public string searchString { set; get; }
public string searchOper { set; get; }
public string filters { set; get; }
public string oper { set; get; }
}
} public ActionResult GetProducts(JqGridRequest request)
{
var list = ProductDataSource.LatestProducts;
var pageIndex = request.page - 1;
var pageSize = request.rows;
var totalRecords = list.Count;
var totalPages = (int)Math.Ceiling(totalRecords / (float)pageSize);
var productsQuery = list.AsQueryable();
productsQuery = new JqGridSearch().ApplyFilter(productsQuery, request, this.Request.Form);
productsQuery = productsQuery.OrderBy(request.sidx + " " + request.sord);
if (string.IsNullOrWhiteSpace(request.oper))
{
productsQuery = productsQuery
.Skip(pageIndex * pageSize)
.Take(pageSize);
}
else if (request.oper == "excel")
{
productsQuery = productsQuery
.Skip(pageIndex * pageSize);
}
var productsList = productsQuery.ToList();
if (!string.IsNullOrWhiteSpace(request.oper) && request.oper == "excel")
{
new ProductsPdfReport().CreatePdfReport(productsList);
}
var productsData = new JqGridData
{
Total = totalPages,
Page = request.page,
Records = totalRecords,
Rows = (productsList.Select(product => new JqGridRowData
{
Id = product.Id,
RowCells = new List<string>
{
product.Id.ToString(CultureInfo.InvariantCulture),
product.Name,
product.AddDate.ToPersianDate(),
product.Price.ToString(CultureInfo.InvariantCulture)
}
})).ToArray()
};
return Json(productsData, JsonRequestBehavior.AllowGet);
}
Could not load file or assembly 'System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
PM> update-package -reinstall
Update-Package : A parameter cannot be found that matches parameter name 'reinstall'.
At line:1 char:26
+ update-package -reinstall <<<<
+ CategoryInfo : InvalidArgument: (:) [Update-Package], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,NuGet.PowerShell.Commands.UpdatePackageCommand
$.jgrid.formatter.integer.thousandsSeparator = ','; $.jgrid.formatter.number.thousandsSeparator = ','; $.jgrid.formatter.currency.thousandsSeparator = ',';