6

剣道グリッドの各行にカスタム ボタンを追加しようとしていますが、目的の出力が得られません。したがって、私の要件は、各行に動的ボタンを追加することであり、これらのボタンをクリックすると、必要なものをいくつか処理する必要があります。そのボタンのクリックに渡されるいくつかの列の値。

私は次のようなことを試しました

@(Html.Kendo().Grid(Model)    
.Name("Grid")
.Columns(columns =>
{
columns.Bound(o => o.Id);

    columns.Bound(o => o.TBRId).Width(100).Title(UI_Resources.ListLabel_TBRId);

    columns.Bound(o => o.THUQuantity).Width(50).Title(UI_Resources.ListLabel_THUQuantity).HtmlAttributes(new { style = "text-align:right" });
    columns.Bound(o => o.Id).ClientTemplate("<input width='50px' type='button' value= " + UI_Resources.Button_Details + " onclick='onDetailUnitClick(#= Id #);'  class='btn btnTable'  />").Width(50).Title("");
columns.Bound(o => o.IsPOD).ClientTemplate("#= AppendZeroPODButton(Id,IsPOD) #").Width(60).Title("");

 })

.Pageable()

.Sortable()

.Scrollable()

.Filterable()

.DataSource(dataSource => dataSource

    .Ajax()

            .Read(read => read.Action("GetUnitsForShipment", "POD",new { shipmentId = @Model, Mode = "POD" }))

          )

 )

/*JavaScript */

function onDetailUnitClick(Id) {
var podDateTime = $("#enteredPODDateTime").val();
var stopId = $("#hiddenStopId").val();
var mode = '';
if (typeof $("#hiddenMode").val() != 'undefined')
    mode = $("#hiddenMode").val();
window.location.href = "/POD/Details/" + Id + "?stopId=" + stopId + "&date=" + podDateTime + "&mode=" + mode;
  };

  function AppendZeroPODButton(Id, isPOD) {
if (isPOD == true) {
    return "<input width='100px' type='button' value= 'Zero POD' onclick='onPODUnitClick(" + Id + ",1);'  class='btn btnTable btn-success' disabled />";
}
else {

    return "<input width='100px' type='button' value= 'Zero POD' onclick='onPODUnitClick(" + Id + ",1);'  class='btn btnTable btn-danger'  />";
}}

私が間違っていることを教えてください!! Telerek MVC グリッドで機能していました。

ありがとうヨーゲンドラ・シン

4

2 に答える 2

5

ClientTemplate をに変更するとうまくいきました

columns.Template(t => t.IsPOD).HeaderTemplate("").ClientTemplate(@"<a href='javascript: void(0)' class='btn btnTable' onclick='onDetailUnitClick(#= Id #)' title='button delete'>" + UI_Resources.Button_Details + " </a>").Title("").Width(50);

columns.Bound(p => p.IsPOD).ClientTemplate("# if( IsPOD == true) { # <a href='javascript: void(0)' class='btn btnTable btn-success' onclick='onPODUnitClick(#= Id #, 1)' title='Zero POD'>" + UI_Resources.Button_ZeroPOD + "</a> # } else {# <a href='javascript: void(0)' class='btn btnTable btn-danger' onclick='onPODUnitClick(#= Id #, 1)' title='Zero POD'>" + UI_Resources.Button_ZeroPOD + "</a> # } #").Title("").Width(100);
于 2013-03-19T14:20:25.293 に答える
1

カスタムボタンを追加することもできます。これを参照してくださいhttp: //demos.kendoui.c​​om/web/grid/custom-command.html

于 2013-12-13T07:31:14.193 に答える