0

検索に使用されるいくつかのコントロールを含むビューがあります。ユーザーがこれらから (Ajax.BeginForm) を検索すると、動的に生成された PartialView (Telerik MVC3 Grid) にデータが返されます。

これはすべてうまくいきます。グリッドには、行を選択するためのボタンがあります。行を選択すると、コントローラーに投稿され、「何か」などを行います。ビューに戻ろうとすると、ページ上のグリッドデータだけが表示され、境界線のないテーブルのように表示されます、他のコントロールなどはありません。私のコードは以下の通りです。

私の部分グリッド:

@model Highlander.Areas.Highlander.Models.ViewModels.DeliveriesGridViewModel
@using System.Data;

@(Html.Telerik().Grid<System.Data.DataRow>(Model.Data.Rows.Cast<System.Data.DataRow>())
.Name("Grid")
.DataKeys(dataKeys => dataKeys.Add("DeliveryID"))
.Columns(columns =>
{
    columns.Command(commandbutton =>
        {
            commandbutton.Select().ButtonType(GridButtonType.ImageAndText);
        }).Width(80).Title(ViewBag.Title);
    columns.LoadSettings(Model.Columns as IEnumerable<GridColumnSettings>);
})
    .DataBinding(dataBinding => dataBinding.Server().Select("_MarkSystem", "Deliveries"))
.EnableCustomBinding(true)
.Resizable(resize => resize.Columns(true))
)

私のコントローラー:

[GridAction]
public ActionResult _MarkSystem(GridCommand command, int id)
{
    string shipDeliver = DataCache.ShipDeliver;
    DataTable fullTable = DataCache.FullTable;

    // call to function to get the datatable data based on the id
    rHelpers.GetDataTableRow(id, fullTable, shipDeliver);

    // get the data for the grid into the model
    fullTable = DataCache.FullTable;
    model = new DeliveriesGridViewModel();
    model.Data = fullTable;
    model.Columns = rHelpers.NewColumns(DataCache.FullTable);

    return PartialView("_DeliveryGrid", model);

    //if (Request.IsAjaxRequest())
    //{
    //    return PartialView("_DeliveryGrid", model);
    //}
    //return PartialView("_DeliveryGrid", model);
    //return PartialView("DeliveryManager", model);
}

ご覧のとおり、さまざまなことを試しましたが成功しませんでした。

誰かが私にこれについての方向性を教えてもらえますか?

御時間ありがとうございます。

4

1 に答える 1

0

私が理解している限りdataBinding.Server()、サーバー側のバインディングを呼び出すことを使用しています。使え.Editable(editing => editing.Mode(GridEditMode.InLine)ばうまくいきます。

両方の種類のバインディング (サーバーと Ajax) には、編集モードが必要です。編集モードにして再度お試しください。うまくいかない場合はご容赦ください。データ バインディングの完全なコードは次のとおりです。

  **.DataBinding(dataBinding => dataBinding.Ajax()
                                        .Select("myAction", "myController")
                                        .Update("myAction",myController")).
  Editable(editing => editing.Mode(GridEditMode.InLine))**
于 2012-05-22T13:22:01.873 に答える