Infragistics IgniteUI Grid set Datasource (Създаване на клас за достъп до данни или използване на Entity Framework)?

наскоро започнах да използвам infragistics, имам версия 2013.2 на infragistics... Създавам проект, използвайки mvc 4.0, и се опитвам да използвам компоненти igniteui...в този случай igGrid.. Възможно ли е да присвоя източник на данни на рамка на обекта? Видях видеоклипа в YouTube, показващ този случай, но получавам грешки. Кой е най-добрият начин да отида, да използвам модел на рамка на обект или да създам свой собствен клас?

GridController

namespace MvcApplication5.Controllers
{
public class GridController : Controller
{
    public MvcApplication5Context db = new MvcApplication5Context();
    [GridDataSourceAction]
    public ActionResult GetProducts()
    {


       return View(MvcApplication5.Models.ProductModel.GetProductList());
    }
    private DataTable GetCustomerDataTable()
    {

        SqlConnection conn = (SqlConnection)db.Database.Connection;
        DataTable dt = new DataTable();
        using (SqlConnection con = conn)
        {
            using (SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Product", con))
            {
                adapter.Fill(dt);
            }
        }
        return dt;
    }


 }
}

Модел на моите продукти:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;

namespace MvcApplication5.Models
{
public class Product
{
    public int ID { get; set; }
    public string ProductName { get; set; }
    public Nullable<int> SupplierID { get; set; }
    public Nullable<int> CategoryID { get; set; }
    public string QuantityPerUnit { get; set; }
    public Nullable<decimal> UnitPrice { get; set; }
    public Nullable<short> UnitsInStock { get; set; }
    public Nullable<short> UnitsOnOrder { get; set; }
    public Nullable<short> ReorderLevel { get; set; }
    public string SupplierName { get; set; }
    public string CategoryName { get; set; }
    public int Rating { get; set; }
    public bool Discontinued { get; set; }
    public string CategoryImageUrl { get; set; }
}

public class ProductModel
{
    public static IQueryable<Product> GetProductList()
    {
        MvcApplication5Context db = new MvcApplication5Context();
        var Products = from c in db.Products
                       orderby c.ID
                       select c;
        return Products.AsQueryable<Product>();
    }
}
}

И моето виждане;

@using Infragistics.Web.Mvc
@model IQueryable<MvcApplication5.Models.ProductModel>
@{
ViewBag.Title = "GetProducts";
 }

<h2>GetProducts</h2>
 @(Html.Infragistics().Grid<MvcApplication5.Models.ProductModel>()
    .ID("grid1")
    .Height("400px")
    .Width("100%")
    .AutoGenerateColumns(true)
    .DefaultColumnWidth("150px")

    .DataSource(Url.Action("GetProducts"))
    .DataBind()
    .Render()
)

Направих някои тестове и успях да създам таблица с данни и да я свържа с iqGrid.. Видеото е с ниска разделителна способност и не мога да видя последната част...

Благодаря предварително...


person Hugo Silva    schedule 20.01.2014    source източник


Отговори (1)


Сега работи, разликата беше, че вместо да използвам локална db връзка, създадох нова връзка към база данни на sql сървър.

person Hugo Silva    schedule 21.01.2014