Infragistics IgniteUI Grid set Источник данных (создать класс доступа к данным или использовать Entity Framework)?

Недавно я начал использовать инфрагистику, у меня версия инфрагистики 2013.2... Я создаю проект с использованием 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)


Теперь это работает, разница заключалась в том, что вместо использования локального соединения с базой данных я создал новое соединение с базой данных сервера sql.

person Hugo Silva    schedule 21.01.2014