0

剣道グリッドの列の 1 つにフィルター UI を作成しようとしています。これはドロップダウン選択になります。

これまでのところ、私は持っています:

function stateFilter(element)
{
  element.kendoDropDownList({
    dataSource: [
      {
        "state": "New",
        "stateId": 1
      },
      {
        "state": "Current",
        "stateId": 2
      },
      {
        "state": "Non-finalised",
        "stateId": 7
      }
    ],
    optionLabel: 'Select state',
    dataTextField: 'state',
    dataValueField: 'stateId',
    template: '#="<span class=\'filterTrigger\' data-value=\'"+stateId+"\'>"+state+"</span>" #',
    select: function(e)
    {
      console.log(e)
      var val = e.item[0].innerHTML
      val = val.substring(41, 40);
      html = e.item[0].innerText;
      activeFilter = activeFilter.filter(function( obj ) {
        return obj.field !== 'state';
      })
      activeFilter.push({
        field: 'state',
        operator: 'eq',
        value: val
      })
      $('.k-animation-container').hide();
      filtersState = 1 ;
      grid.dataSource.filter(activeFilter);
    }
  })
}

stateIdそれをデータパラメーターとして渡し、それを切り刻んで値として渡すよりも、データソースから取得するより良い方法はありsubstring()ますか?

4

2 に答える 2

0

あなたが何をしているのか完全にはわかりません。グリッド内の列にフィルターとしてドロップダウン リストを追加したいだけの場合は、実行している作業がはるかに簡単になります。

これを行う簡単なサンプルを次に示します... http://jsbin.com/coreh/1/edit

これが意図していない場合は、グリッドのコードを投稿して、何を達成しようとしているのかをよりよく判断してください。

于 2014-02-20T13:32:44.917 に答える
0

これは、値を変更するためのグリッド内のドロップダウンとそのかみそりの構文を持つ剣道グリッドです。価値があるので、コードを投稿します。少し切り詰められており、すべての開閉ポンドが整列している必要があります。

 columns.Bound(m => m.IncludeInForecast).HtmlAttributes(new { Align="center"}).Title("Include In Forecast?").ClientTemplate(

"\\# if (IncludeInForecast == true) { \\#" +

                                  "<select id='\\#= OrderDetailId \\#' onchange=SaveIncludeInForecast('\\#= OrderDetailId \\#','\\#= ProposalId \\#'); style='Width: 80px; color: 'navy' > " +
                                    "<option id='yes' selected value='1'>Yes</option>" +
                                    "<option id='no' value='0'>No</option>" +

                                    "</select>" +
                             "\\# } else { \\#" +
                                  "<select id='\\#= OrderDetailId \\#' onchange=SaveIncludeInForecast('\\#= OrderDetailId \\#','\\#= ProposalId \\#'); style='Width: 80px; color: 'navy' > " +
                                    "<option id='yes'  value='1'>Yes</option>" +
                                    "<option id='no' selected value='0'>No</option>" +
                                 "\\# } \\#" +
                        "\\# }
);

私がこれを行っている場所に気付くでしょう'\\#= ProposalId \\#'。これが、モデルから値を取得する方法です。

次に、結果の関数

function SaveIncludeInForecast(orderDetailId, proposalId)
{      

}

これが完全に役に立たないことを願っています。

于 2014-02-20T14:40:08.733 に答える