1

Telerik 的 RADGrid,基于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);
                }
            }
        }

想我可能不得不回到他们的例子..获取他们的数据库..并从那个角度进行攻击。

干杯!

4

1 回答 1

1

更新后重新绑定。尝试添加

RadGrid1.DataSource = null;
RadGrid1.Rebind();

在你调用DbContext.SubmitChanges();调用之后,假设你已经实现了_NeedDataSource()。

于 2010-05-10T03:43:58.033 回答