Как связать источник данных для сетки кендо с помощью хранимой процедуры - PullRequest
0 голосов
/ 30 марта 2019

Прежде всего, это моя первая работа с использованием kendo ui.В работе у меня есть некоторые данные из базы данных, я хотел бы заменить свою сетку MVC на впечатляющую сетку кендо.Я создал список из базы данных, и я пытаюсь привязать к сетке Кенто.После настройки источника данных вызывается хранимая процедура.Тем не менее сетка остается пустой.контроллер:

public ActionResult index()
        {
            return View();
        }  
public JsonResult Getuser([DataSourceRequest] DataSourceRequest request)
        {
            TestDB_Emp db = new TestDB_Emp();

            var employees = db.sps_selectemp();
            DataSourceResult response = employees.ToDataSourceResult(request);
            return Json(response, JsonRequestBehavior.AllowGet);

        }

просмотр

@(Html.Kendo().Grid<webkendo.sps_selectemp_Result>()
        .Name("grid")
        .Columns(columns =>
        {
            columns.Bound(c => c.FirstName);

            columns.Bound(c => c.SecondName);
            columns.Bound(c => c.Email);
            columns.Bound(c => c.Gender).Width(150);
        })
        .HtmlAttributes(new { style = "height: 550px;" })
        .Scrollable()
        .Groupable()
        .Sortable()
        .Pageable()
            .DataSource(dataSource => dataSource
            .Ajax()
            .Read(read => read.Action("Getuser", "Home"))
            .PageSize(20)
        )
)

класс

namespace webkendo
{
    using System;

    public partial class sps_selectemp_Result
    {
        public string City { get; set; }
        public string FirstName { get; set; }
        public string SecondName { get; set; }
        public string Gender { get; set; }
        public string Email { get; set; }
        public string Mobile { get; set; }
        public int EmpID { get; set; }
        public Nullable<System.DateTime> DOB { get; set; }
    }
}

Чего не хватает в моем коде.

1 Ответ

0 голосов
/ 01 апреля 2019

Попробуйте без использования модели сущностей при использовании хранимой процедуры.

public ActionResult Results([DataSourceRequest] DataSourceRequest request)
        {
            var page = request.Page;
            var pagesize = request.PageSize;
            SqlConnection sqcon = new SqlConnection(conn);
            SqlCommand cmd = new SqlCommand();
            SqlDataAdapter sd = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            cmd.Connection = sqcon;
            cmd.CommandText = "sps_selectemp";
            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            sqcon.Open();
            sd.Fill(dt);
            sqcon.Close();
            List<EmployeeDetails> StudentList = new List<EmployeeDetails>();
            foreach (DataRow dr in dt.Rows)
            {
                EmployeeDetails st = new EmployeeDetails();
                st.ID = Convert.ToInt32(dr["EmpID"]);
                st.FirstName = dr["FirstName"].ToString();
                st.SecondName = dr["SecondName"].ToString();
                st.Email = dr["Email"].ToString();
                st.Gender = dr["Gender"].ToString();
                st.Mobile = dr["Mobile"].ToString();

                st.City = dr["City"].ToString();



                StudentList.Add(st);
            }
            DataSourceResult response = StudentList.ToDataSourceResult(request);
            return Json(response, JsonRequestBehavior.AllowGet);

        }
...