Hi,
I have a grid with for example 5 columns, last one not editable (.AllowEditing(false)). When I edit a record, change some data and in server side I change the last column value. After changing datasource and loading again the view, I cannot see the change in last column.
Here is my code, and I am attaching some screenshots.
The view:
<div class="row">
<ContentSection>
<div class="col-lg-12 no-margin no-padding">
@(Html.EJ().Grid<IEnumerable<object>>("ListaEquiposPorContrato")
.Datasource(ds => ds.Json((IEnumerable<object>)equipos).UpdateURL("/Home/Update").Adaptor(AdaptorType.RemoteSaveAdaptor))
.Columns(col =>
{
col.Field("IdEquiposGeotab").IsPrimaryKey(true).Visible(false).Add();
col.Field("DatabaseName").HeaderText("Base datos").Type("string").Width("10em").Add();
col.Field("LicensePlate").HeaderText("Placa").Type("string").Width("10em").Add();
col.Field("DeviceType").HeaderText("Tipo").Type("string").Width("5em").Add();
col.Field("SerialNumber").HeaderText("Serial").Type("string").Width("10em").Add();
col.Field("Vin").HeaderText("Vin").Type("string").Width("10em").AllowEditing(false).Add();
})
.Locale("es-CO")
.AllowScrolling()
.IsResponsive()
.AllowPaging()
.AllowSearching()
.EditSettings(edit => { edit.AllowEditing().EditMode(EditMode.Normal); })
.ClientSideEvents(eve =>
{
eve.EndEdit("jsActualizaGrillaListaEquiposPorContrato");
})
.ToolbarSettings(toolbar =>
{
toolbar.ShowToolbar().ToolbarItems(items =>
{
items.AddTool(ToolBarItems.Search);
items.AddTool(ToolBarItems.Edit);
items.AddTool(ToolBarItems.Update);
items.AddTool(ToolBarItems.Cancel);
});
})
)
</div>
<div class="row">
<div class="col-md-2">
<br />
<input type="button" id="btnAsignar" class="btn btn-primary" value="Delete" onclick="enviarEquiposChecked()" />
</div>
</div>
</ContentSection>
</div>
<script type="text/javascript">
function jsActualizaGrillaListaEquiposPorContrato(args) {
$("#ListaEquiposPorContrato").ejGrid("refreshContent");
}
</script>
-----------------------------------------------------------------------------------------------------------------------------
The controller:
public class HomeController : Controller
{
public ActionResult Index()
{
List<EquiposGeotabUI> lstEquipos = new List<EquiposGeotabUI>();
for (int i=0; i<10; i++)
{
EquiposGeotabUI equipo = new EquiposGeotabUI()
{
DatabaseName = "DB name " + i.ToString(),
DeviceId = i,
IdEquiposGeotab = i,
DeviceType = "Device type " + i.ToString(),
LicensePlate = "NKN-" + i.ToString(),
SerialNumber = "Serial No. 00" + i.ToString(),
Vin = "VIN0000" + i.ToString()
};
lstEquipos.Add(equipo);
}
ViewBag.Equipos = lstEquipos;
return View();
}
public ActionResult Update(EquiposGeotabUI value)
{
List<EquiposGeotabUI> lstEquipos = new List<EquiposGeotabUI>();
for (int i = 0; i < 10; i++)
{
if (i == value.IdEquiposGeotab)
{
EquiposGeotabUI equipo = new EquiposGeotabUI()
{
DatabaseName = value.DatabaseName,
DeviceId = i,
DeviceType = value.DeviceType,
LicensePlate = value.LicensePlate,
SerialNumber = value.SerialNumber,
Vin = "RECORD MODIFIED"
};
lstEquipos.Add(equipo);
}
else
{
EquiposGeotabUI equipo = new EquiposGeotabUI()
{
DatabaseName = "DB name " + i.ToString(),
DeviceId = i,
IdEquiposGeotab = i,
DeviceType = "Device type " + i.ToString(),
LicensePlate = "NKN-" + i.ToString(),
SerialNumber = "Serial No. 00" + i.ToString(),
Vin = "VIN0000" + i.ToString()
};
lstEquipos.Add(equipo);
}
}
ViewBag.Equipos = lstEquipos;
return View("Index");
}
}
Attachment:
Screenshots_dc575394.zip