hi,
I've got the following question, maybe somebody knows how to fix it. I use a gridview to display data. one of the data items is the CollectorID. However i want to change the collectorID to Collector name.
But when i do that, it says it isn't a valid column ( wich is because the column doesn't exist in the database). So for now i commenced everything out.
However how do i get it fixed and is it possible to fix ? please let me know.
Controller:
- using Kendo.Mvc.Extensions;
- using Kendo.Mvc.UI;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web.Mvc;
- using System.Web.Util;
- using TelerikMvcApp1.Models;
- namespace TelerikMvcApp1.Controllers
- {
- public class HomeController : Controller
- {
- public ActionResult Index()
- {
- var programCollectorDataFilesStatus = new ProgramCollectorDataFilesStatus();
- //var collectorsContext = new CollectorsContext(); // used to show collectorName but not working
- //var collectorsList = collectorsContext.Col.ToList(); // used to show collectorName but nog working
- using (CollectorStatusContext collectorStatusContext = new CollectorStatusContext())
- {
- IEnumerable
collectorstatuslist = collectorStatusContext.Collectors.ToList(); - List
dataObjects = new List (); - foreach (var workItem in collectorstatuslist)
- {
- dataObjects.Add(new CollectorStatus
- {
- ServiceRunning = workItem.ServiceRunning,
- BatchCompleted = workItem.BatchCompleted,
- BatchErrorID = workItem.BatchErrorID,
- CollectorID = workItem.CollectorID,
- LastBatchID = workItem.LastBatchID,
- LastChecked = workItem.LastChecked,
- LastStart = workItem.LastStart
- });
- }
- foreach (var item in collectorstatuslist)
- {
- CollectorStatus col = new CollectorStatus();
- col.CollectorID = item.CollectorID;
- ViewBag.CollectorID = col.CollectorID;
- }
- programCollectorDataFilesStatus.CollectorStatus = collectorstatuslist;
- }
- using (DataFilesStatusContext dataFilesStatusContext = new DataFilesStatusContext())
- {
- IEnumerable
datafilesstatuslist = dataFilesStatusContext.DataFiles.ToList(); // it gives an error that CollectorName isn't a valid column - List
dataObjects = new List (); - foreach (var workItem in datafilesstatuslist)
- {
- dataObjects.Add(new DataFilesStatus
- {
- LastDataFileID = workItem.LastDataFileID,
- DatFileName = workItem.DatFileName,
- DataFileCompleted = workItem.DataFileCompleted,
- DataFileErrorID = workItem.DataFileErrorID,
- CollectorID = workItem.CollectorID,
- //CollectorName = collectorsList.FirstOrDefault(co => co.CollectorID == workItem.CollectorID).CollectorName
- });
- }
- programCollectorDataFilesStatus.DataFilesStatus = datafilesstatuslist;
- }
- using (ProgramStatusContext programStatusContext = new ProgramStatusContext())
- {
- IEnumerable
programstatuslist = programStatusContext.Stats.ToList(); - List
dataObjects = new List (); - foreach (var workItem in programstatuslist)
- {
- dataObjects.Add(new ProgramStatus
- {
- ProgramName = workItem.ProgramName,
- ProgramLastRun = workItem.ProgramLastRun,
- });
- }
- programCollectorDataFilesStatus.ProgramStatus = programstatuslist;
- }
- return View(programCollectorDataFilesStatus);
- }
- public ActionResult About()
- {
- ViewBag.Message = "Your app description page.";
- return View();
- }
- public ActionResult Contact()
- {
- ViewBag.Message = "Your contact page.";
- return View();
- }
- public ActionResult ResultCollectors_Read([DataSourceRequest]DataSourceRequest request)
- {
- return Json(GetCollectors().ToDataSourceResult(request));
- }
- public ActionResult ResultDatafiles_Read([DataSourceRequest]DataSourceRequest request)
- {
- return Json(GetDataFiles().ToDataSourceResult(request));
- }
- private static IEnumerable
GetCollectors() - {
- var programCollectorDataFilesStatus = new ProgramCollectorDataFilesStatus();
- using (CollectorStatusContext collectorStatusContext = new CollectorStatusContext())
- {
- IEnumerable
collectorstatuslist = collectorStatusContext.Collectors.ToList(); - List
dataObjects = new List (); - foreach (var workItem in collectorstatuslist)
- {
- dataObjects.Add(new CollectorStatus
- {
- ServiceRunning = workItem.ServiceRunning,
- BatchCompleted = workItem.BatchCompleted,
- BatchErrorID = workItem.BatchErrorID,
- CollectorID = workItem.CollectorID,
- LastBatchID = workItem.LastBatchID,
- LastChecked = workItem.LastChecked,
- LastStart = workItem.LastStart
- });
- }
- programCollectorDataFilesStatus.CollectorStatus = collectorstatuslist;
- return dataObjects;
- }
- }
- private static IEnumerable
GetDataFiles() - {
- var programCollectorDataFilesStatus = new ProgramCollectorDataFilesStatus();
- using (DataFilesStatusContext dataFilesStatusContext = new DataFilesStatusContext())
- {
- IEnumerable
datafilesstatuslist = dataFilesStatusContext.DataFiles.ToList(); - List
dataObjects = new List (); - foreach (var workItem in datafilesstatuslist)
- {
- dataObjects.Add(new DataFilesStatus
- {
- LastDataFileID = workItem.LastDataFileID,
- DatFileName = workItem.DatFileName,
- DataFileCompleted = workItem.DataFileCompleted,
- DataFileErrorID = workItem.DataFileErrorID,
- CollectorID = workItem.CollectorID
- });
- }
- programCollectorDataFilesStatus.DataFilesStatus = datafilesstatuslist;
- return dataObjects;
- }
- }
- }
- }
- @using TelerikMvcApp1.Models
- @model ProgramCollectorDataFilesStatus
- @(Html.Kendo().Grid
() - .Name("DataFilesGrid")
- .Columns(columns =>
- {
- columns.Bound(d => d.LastDataFileID);
- columns.Bound(d => d.DatFileName);
- columns.Bound(d => d.DataFileCompleted);
- columns.Bound(d => d.DataFileErrorID);
- //columns.Bound(d => d.CollectorName); // this doesn't work , invalid column
- columns.Bound(d => d.CollectorID);
- })
- .Filterable()
- .Sortable()
- .Groupable()
- .Pageable(pageable => pageable
- .Refresh(true)
- .PageSizes(true)
- )
- .DataSource(dataSource => dataSource
- .Ajax()
- .Read(read => read.Action("ResultDatafiles_Read", "Home"))
- .PageSize(10)
- )
- )
- using System;
- using System.Collections.Generic;
- using System.ComponentModel.DataAnnotations;
- using System.ComponentModel.DataAnnotations.Schema;
- using System.Data.Entity;
- using System.Linq;
- using System.Web;
- namespace TelerikMvcApp1.Models
- {
- public class DataFilesStatus
- {
- [Key]
- [Column("LastDataFileID")]
- [Display(Name = "Last DataFile ID")]
- public int LastDataFileID { get; set; }
- [Column("DatFileName")]
- [Display(Name = "Filename")]
- public string DatFileName { get; set; }
- [Column("DataFileCompleted")]
- [Display(Name = "Completed")]
- public bool? DataFileCompleted { get; set; }
- [Column("DataFileErrorID")]
- [Display(Name = "Error ID")]
- public int? DataFileErrorID { get; set; }
- [Column("CollectorID")]
- [Display(Name = "Collector ID")]
- public int? CollectorID { get; set; }
- //public string CollectorName { get; set; } // this is not working !! ( not really exits but only used to get CollectorName instead of CollectorID
- //public IEnumerable
BatchErrors { get; set; } - //public IEnumerable
Fileerrors { get; set; } - }
- }
Nanddeep NachanPosted Feb 3, 2016, 1:21 AM