This question is locked. New answers and comments are not allowed.
I have a grid column that want to use it as a ForeignKey but when the page loads the foreignkey column just displays nothing, and when the edit button is clicked the combobox appears in another column.
My View
My Controller
My ReciboNominaParametrosPercepciones Class
My ReciboNominaParametrosEFDAL entity
My View
@model HEB.HEBanco.EFDAL.Entity.prueba@{ Layout = "~/Views/Shared/HEBKiosko_Vista_1.cshtml"; ViewBag.Title = "Parametria"; HEB.HEBanco.BusinessLayer.Perfil perfil = new HEB.HEBanco.BusinessLayer.Perfil(); string nombreUsuario = perfil.GetNombre(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)); HEB.HEBanco.BusinessLayer.ReciboNominaPines pines = new HEB.HEBanco.BusinessLayer.ReciboNominaPines(); List<HEB.HEBanco.EFDAL.Entity.ReciboNominaPinesEFDAL> PinListPercepciones = pines.ObtieneReciboNominaPines("P"); List<HEB.HEBanco.EFDAL.Entity.ReciboNominaPinesEFDAL> PinListDeducciones = pines.ObtieneReciboNominaPines("D"); List<HEB.HEBanco.EFDAL.Entity.ReciboNominaPinesEFDAL> PinListImpuestos = pines.ObtieneReciboNominaPines("I"); GridPagerStyles pagerStyles = GridPagerStyles.NextPreviousAndNumeric; var position = GridPagerPosition.Bottom; var currentPage = 1; pagerStyles |= GridPagerStyles.PageInput; pagerStyles |= GridPagerStyles.NextPrevious; pagerStyles |= GridPagerStyles.Numeric; pagerStyles |= GridPagerStyles.PageSizeDropDown;}<html><head> <style type="text/css"> .gridLetra { color: #980808; font-family: Arial; font-size: 12px; } </style> <script type="text/javascript"> function Guardar(e) { var valores = e.values; } function Editar(e) { //alert('b'); var grid = $('#' + e.currentTarget.id).data('tGrid'); //alert(grid.columns[1].title); } function RefreshGridCatorcenas() { //alert('p'); var grid = $('#GridComentarios').data('tGrid'); // grid.rebind(); } //if (grid.columns[1].title == "Concepto1" && e.mode == "edit") { //grid.columns[1].Visible(true); //alert('a'); //} function Regresar() { window.location = "/ReciboNomina/CatorcenasConsultar" } </script></head><body> <center> <p> Administración</p> </center> <p> Percepciones</p> @(Html.Telerik().Grid(Model.ReciboNominaParametrosPercepciones) .Name("GridPercepciones") .Localizable("es-ES") .ClientEvents(events => events.OnSave("Guardar").OnEdit("Editar")) .Editable(editing => editing.Mode(GridEditMode.InLine)) .Sortable(sort => sort.OrderBy(order => order.Add(data => data.PIN))) .Scrollable(scroll => scroll.Height("282px")) .Filterable() .Resizable(resizing => resizing.Columns(true)) .Reorderable(reorder => reorder.Columns(true)) .ToolBar(commands => commands.Insert()) .Pageable(paging => paging .Style(pagerStyles) .Position(position) .PageTo(currentPage) .PageSize(10, new[] { 5, 10, 15, 20, 25 })) .DataBinding(dataBinding => dataBinding .Ajax() .Select("_ListParametersPercepciones", "ReciboNomina") .Insert("_InsertParametersPercepciones", "ReciboNomina") .Update("_UpdateParametersPercepciones", "ReciboNomina") .Delete("_DeleteParametersPercepciones", "ReciboNomina") ) .HtmlAttributes(new { @class = "gridLetra" }) .DataKeys(keys => { keys.Add(data => data.PIN_NUM); } ) .Columns(columns => { columns.ForeignKey(data => data.PIN, new SelectList(PinListPercepciones, "PIN_NUM", "PIN")) .Title("Concepto") .Width(150); columns.Bound(data => data.PIN) .Title("Concepto").Width(200) .ReadOnly(true); columns.Bound(data => data.SUMA) .ClientTemplate("<center><input type='checkbox' disabled='disabled' name='Suma' <#=SUMA? checked='checked' : '' #> /></center>") .Template(@<text> <input name="checkedRecords" type="checkbox" value="@item.SUMA " disabled title="checkedRecords" @if (item.SUMA = true) { <text>checked="checked"</text> } /> </text>) .Title("Suma") .Width(36) .HtmlAttributes(new { style = "text-align:center" }); columns.Command(commands => { commands.Edit(); commands.Delete(); }).Width(180); } ) ) <center> <table> <tr> <td> </td> <td align="center"> <input type="button" name="cmdRegresar" value="Regresar" onclick="Regresar()" /> </td> <td align="center"> <input type="button" name="cmdImprimir" value="Imprimir" /> </td> </tr> </table> </center> <form id="frmAdministracion"> </form> @(Html.Telerik().ScriptRegistrar().Globalization(false).DefaultGroup(group => group.Combined(true).Compress(true)))</body></html>My Controller
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using HEB.HEBanco.BusinessLayer;using HEB.HEBanco.EFDAL.Entity;using Telerik.Web.Mvc; #region Parametros Percepciones [GridAction] public ActionResult _ListParametersPercepciones(string CONCEPTO = "P") { ReciboNominaParametrosPercepciones A = new ReciboNominaParametrosPercepciones(); //var model = new prueba(); //model.ReciboNominaParametrosPercepciones = A.ObtieneParametrosReciboNomina("P"); //ViewData["total"] = model.ReciboNominaParametrosPercepciones.Count(); //ReciboNominaParametrosPercepciones A = new ReciboNominaParametrosPercepciones(); return View(new GridModel<ReciboNominaParametrosEFDAL> { Data = A.ObtieneParametrosReciboNomina(CONCEPTO) }); } [AcceptVerbs(HttpVerbs.Post)] [GridAction] public ActionResult _UpdateParametersPercepciones(string PIN_NUM, string SUMA) { ReciboNominaParametrosPercepciones param = new ReciboNominaParametrosPercepciones(); param.UpdateParametro(PIN_NUM, SUMA); return View(new GridModel<ReciboNominaParametrosEFDAL> { Data = param.ObtieneParametrosReciboNomina("P") }); } [AcceptVerbs(HttpVerbs.Post)] [GridAction] public ActionResult _InsertParametersPercepciones(string PIN_NUM, string SUMA) { ReciboNominaParametrosPercepciones param = new ReciboNominaParametrosPercepciones(); param.InsertParametro(PIN_NUM, SUMA); return View(new GridModel<ReciboNominaParametrosEFDAL> { Data = param.ObtieneParametrosReciboNomina("P") }); } [AcceptVerbs(HttpVerbs.Post)] [GridAction] public ActionResult _DeleteParametersPercepciones(string ID) { ReciboNominaParametrosPercepciones param = new ReciboNominaParametrosPercepciones(); param.DeleteParametro(ID); return View(new GridModel<ReciboNominaParametrosEFDAL> { Data = param.ObtieneParametrosReciboNomina("P") }); } #endregionMy ReciboNominaParametrosPercepciones Class
using System;using System.Collections.Generic;using System.Linq;using System.Text;using HEB.HEBanco.EFDAL;using HEB.HEBanco.EFDAL.Entity;namespace HEB.HEBanco.BusinessLayer{ public class ReciboNominaParametrosPercepciones { public List<ReciboNominaParametrosEFDAL> ObtieneParametrosReciboNomina(string CONCEPTO) { using (var context = new HEBancoEntities()) { var Parametros = new object[] { CONCEPTO }; var Parametross = context.ExecuteStoreQuery<ReciboNominaParametrosEFDAL>("exec dbo.SPSEL_PARAMETROS_RECIBO_NOMINA @p0", Parametros); var ParametrosResultado = new List<ReciboNominaParametrosEFDAL>(); foreach (ReciboNominaParametrosEFDAL X in Parametross) { ParametrosResultado.Add(X); } return ParametrosResultado; } } }}My ReciboNominaParametrosEFDAL entity
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace HEB.HEBanco.EFDAL.Entity{ public class ReciboNominaParametrosEFDAL { public virtual string PIN { get; set; } public virtual bool SUMA{get;set;} public virtual int PIN_NUM { get; set; } }}