예제 #1
0
        public ActionResult GetSubgrid(int OrderId)
        {
            Action <IGridColumnCollection <OrderDetail> > columns = c =>
            {
                /* Adding "OrderID" column: */
                c.Add(o => o.OrderID)
                .Titled("Order Number")
                .SortInitialDirection(GridSortDirection.Descending)
                .ThenSortByDescending(o => o.ProductID)
                .SetWidth(100);

                /* Adding "ProductID" column: */
                c.Add(o => o.ProductID)
                .Titled("Product Number")
                .SetWidth(100);

                /* Adding "ProductName" column: */
                c.Add(o => o.Product.ProductName)
                .Titled("Product Name")
                .SetWidth(250);

                /* Adding "Quantity" column: */
                c.Add(o => o.Quantity)
                .Titled("Quantity")
                .SetCellCssClassesContraint(o => o.Quantity >= 50 ? "red" : "")
                .SetWidth(100)
                .Format("{0:F}");

                /* Adding "UnitPrice" column: */
                c.Add(o => o.UnitPrice)
                .Titled("Unit Price")
                .SetWidth(100)
                .Format("{0:F}");
            };

            var requestCulture = HttpContext.Features.Get <IRequestCultureFeature>();
            var locale         = requestCulture.RequestCulture.UICulture.TwoLetterISOLanguageName;
            var orderDetails   = _orderDetailsRepository.GetForOrder(OrderId);

            var server = new GridServer <OrderDetail>(orderDetails, Request.Query,
                                                      false, "orderDetailsGrid" + OrderId.ToString(), columns, 10, locale)
                         .SetRowCssClasses(item => item.Quantity > 10 ? "success" : string.Empty)
                         .Sortable()
                         .Filterable()
                         .SetStriped(true)
                         .WithMultipleFilters()
                         .WithGridItemsCount()
                         .SetRemoveDiacritics <NorthwindDbContext>("RemoveDiacritics");

            return(PartialView("_SubGrid", server.Grid));
        }
예제 #2
0
        public ItemsDTO <OrderDetail> GetOrderDetailsGridRows(Action <IGridColumnCollection <OrderDetail> > columns,
                                                              object[] keys, QueryDictionary <StringValues> query)
        {
            var repository = new OrderDetailsRepository(_context);
            var server     = new GridServer <OrderDetail>(repository.GetForOrder((int)keys[0]), new QueryCollection(query),
                                                          true, "orderDetailssGrid" + keys[0].ToString(), columns)
                             .Sortable()
                             .WithPaging(10)
                             .Filterable()
                             .WithMultipleFilters();

            // return items to displays
            var items = server.ItemsToDisplay;

            return(items);
        }
예제 #3
0
        public ItemsDTO <OrderDetail> GetOrderDetailsGridRows(Action <IGridColumnCollection <OrderDetail> > columns,
                                                              object[] keys, QueryDictionary <StringValues> query)
        {
            using (var context = new NorthwindDbContext(_options))
            {
                int orderId;
                int.TryParse(keys[0].ToString(), out orderId);
                var repository = new OrderDetailsRepository(context);
                var server     = new GridCoreServer <OrderDetail>(repository.GetForOrder(orderId), query, true, "orderDetailssGrid" + keys[0].ToString(), columns)
                                 .Sortable()
                                 .WithPaging(10)
                                 .Filterable()
                                 .WithMultipleFilters()
                                 .SetRemoveDiacritics <NorthwindDbContext>("RemoveDiacritics");

                // return items to displays
                var items = server.ItemsToDisplay;
                return(items);
            }
        }