0

我有一个分层 radGrid,用户单击详细信息表上的一行以在 Web 控件中编辑其数据。

如何使用 linq to sql 更新网格数据?

4

2 回答 2

0

或者,您可以在 Telerik 的网站上查看演示(非常简单明了):http: //demos.telerik.com/aspnet-ajax/grid/examples/dataediting/programaticlinqupdates/defaultcs.aspx

于 2012-05-08T11:22:05.470 回答
0

我按照telerik提供的示例完成了这项任务,并对其进行了如下修改:

protected void RadGridProductionOrders_UpdateCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
    {
        GridEditableItem editedItem = e.Item as GridEditableItem;
        UserControl userControl = (UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID);
        ProductionOrderDetail productionOrderDetail = new ProductionOrderDetail();
        ProductionDataContext db = new ProductionDataContext();

        productionOrderDetail = (from p in db.ProductionOrderDetails
                                 where p.orderNo == editedItem.OwnerTableView.DataKeyValues[editedItem.ItemIndex]["orderNo"]
                                    && p.itemCode == editedItem.OwnerTableView.DataKeyValues[editedItem.ItemIndex]["itemCode"]
                                 select p).Single();

        productionOrderDetail.qty = int.Parse((userControl.FindControl("TextBoxQty") as TextBox).Text);

        try
        {
            db.SubmitChanges();
        }
        catch(Exception ex)
        {
            Label lblError = new Label();

            lblError.Text = "Unable to update Production Order data. Reason: " + ex.Message;
            lblError.ForeColor = System.Drawing.Color.Red;

            RadGridProductionOrders.Controls.Add(lblError);

            e.Canceled = true;
        }
}

在此代码完成后,网格将更新为新值。

于 2012-05-03T17:46:31.813 回答