Как привязать данные с сервера sql к Kendo Grid в MVC - PullRequest
1 голос
/ 07 февраля 2020

Я создаю сетку кендо в своем представлении, но в моей сетке кендо не отображается значение, и это мой код в chtml

<div style="width:100%;height:100%">


    @(Html.Kendo().Grid<TBSWebApp.Models.DisplayRecords>()
                        .Name("BindGridUsingRead")
                        .DataSource(DataSource => DataSource.Ajax()
                        .Model(Model => Model.Id(m => m.InvoiceNo))
                        .Read(read => read.Action("BindGrid2", "Invoice")))
                        .Columns(columns =>
                        {
                            columns.Bound(p => p.InvoiceNo).Width(15).Title("Invoice 
 No.").Filterable(false);
                            columns.Bound(p => p.InvoiceDate).Title("Invoice 
   Date").Width(15).Filterable(false);
                            columns.Bound(p => p.FileAs).Title("Client 
  Name").Width(50).Filterable(false);
                            columns.Bound(p => 
   p.Amount).Title("Amount").Width(15).Filterable(false);
                        })
                        .Pageable()
                        .Sortable()



      )
   </div>

и я контролировал, к чему я обращаюсь к моей базе данных в sql, и этот код привязывает мою сетку кендо для отображения моей базы данных и конвертирует в json.

    public ActionResult BindGrid2([DataSourceRequest]DataSourceRequest request)
    {
        try
        {
            string FileAs = "";
            List<Models.DisplayRecords> lst = new List<Models.DisplayRecords>();
            lst = GetGridData(FileAs).ToList();
            DataSourceResult result = lst.ToDataSourceResult(request, p => new Models.DisplayRecords
            {
                InvoiceNo = p.InvoiceNo,
                InvoiceDate = p.InvoiceDate,
                FileAs = p.FileAs,
                Amount = p.Amount,
            });
            //return Json(result, JsonRequestBehavior.AllowGet);
            return Json(result);
        }
        catch (Exception ex)
        {
            var errorMsg = ex.Message.ToString();
            return Json(errorMsg, JsonRequestBehavior.AllowGet);
        }
    }

и этот вызов - sql подключение к серверу и выбор из таблицы, которую я хочу связать

      public IEnumerable<Models.DisplayRecords> GetGridData(string ClientName)
    {
        List<Models.DisplayRecords> objCmp = new List<Models.DisplayRecords>();
        List<Models.DisplayRecords> listCompany = new List<Models.DisplayRecords>();

        string strServer = GlobalVariable.prServer;
        string strDatabase = GlobalVariable.prDatabase;
        string mainconn = string.Format(ConfigurationManager.ConnectionStrings["BackendEntities"].ConnectionString, strServer, strDatabase);
        SqlConnection sqlconn = new SqlConnection(mainconn);
        string s1 = "SELECT InvoiceNo,InvoiceDate,FileAs,LoanBalance FROM tblInvoice LEFT OUTER JOIN tblContacts ON tblInvoice.CustomerID = tblContacts.ContactID WHERE LEFT(InvoiceNo,2) ='LR'";
        SqlCommand sqlcomm = new SqlCommand(s1);
        sqlcomm.Connection = sqlconn;
        sqlconn.Open();
        SqlDataReader sdr = sqlcomm.ExecuteReader();
        List<DisplayRecords> objmodel = new List<DisplayRecords>();
        if (sdr.HasRows)
        {
            while (sdr.Read())
            {
                objCmp.Add(new Models.DisplayRecords() { InvoiceNo = sdr["InvoiceNo"].ToString(), InvoiceDate = sdr["InvoiceDate"].ToString(), FileAs = sdr["FileAs"].ToString(), Amount = sdr["LoanBalance"].ToString() });

            }
            sqlconn.Close();
        }

        if (ClientName != "")
        {
            listCompany = objCmp.ToList().Where(a => a.FileAs == ClientName).ToList();
            return listCompany.AsEnumerable();
        }
        return objCmp.ToList().AsEnumerable();
    }

, но результат по-прежнему не отображается в моей сетке кендо. Я не знаю почему, но когда я пытаюсь установить точку останова на своем действии контроллера, «publi c ActionResult BindGrid2» не проходит мимо, и это результат запуска веб-представления:

Нажмите, чтобы посмотреть изображение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...