Telerik RADGrid - linq и обновление
RADGrid компании Telerik, основываясь на их примере на http://demos.telerik.com/aspnet-ajax/grid/examples/dataediting/programaticlinqupdates/defaultcs.aspx
Проблема: я могу вставить и удалить, но обновление не работает. Ошибка не обнаружена. Данные просто не меняются.
Из приведенного ниже кода похоже, что Telerik Grid делает кунг-фу за кулисами, чтобы соединить вещи. Я не вижу БД, получающих какие-либо обновления заявления.
Вопрос: что-то очевидное мне не хватает?
protected void RadGrid1_UpdateCommand(object source, GridCommandEventArgs e)
{
var editableItem = ((GridEditableItem) e.Item);
var raceId = (Guid) editableItem.GetDataKeyValue("RaceID");
//retrive entity form the Db
var race = DbContext.races.Where(n => n.raceid == raceId).FirstOrDefault();
if (race != null)
{
//update entity's state
editableItem.UpdateValues(race);
try
{
//submit chanages to Db
DbContext.SubmitChanges();
}
catch (Exception f)
{
ShowErrorMessage(f);
}
}
}
Думаю, мне, возможно, придется вернуться к их примеру... получить их БД... и атаковать с этой точки зрения.
Ура!
1 ответ
Решение
Сделайте повторную привязку после обновления. Попытка добавления
RadGrid1.DataSource = null;
RadGrid1.Rebind();
После вашего звонка DbContext.SubmitChanges();
вызов, предполагая, что вы реализовали _NeedDataSource().