3

Kendo Grid には、カレンダーで「dt」フィールド「等しい」のデフォルト フィルターがあります。「名前」フィールドにはデフォルトのフィルター「等しい」がありますが、「含む」をオプションリストの最初の場所に移動し、文字列のデフォルトにします。どのように実装できますか?

public class MyClass
{
    public DateTime dt { get; set; }
    public string name { get; set; }
}


@(Html.Kendo()
      .Grid<MyClass>()
      .Name("grid")
      .DataSource(data =>
                  data.Ajax()
                      .ServerOperation(false)
                      .Read(read =>
                            read.Action("MyAction", "MyController"))
      )
      .Columns(cols =>
          {
              cols.Bound(x => x.dt).Title("Date").Width(150);
              cols.Bound(x => x.name).Title("Name").Width(250);
          })
      .Filterable()
      .Sortable())
4

2 に答える 2

4

フィルター メニューのカスタマイズのデモをご覧ください。次の行に沿って何かをするようです:

@(Html.Kendo()
      .Grid<MyClass>()
      .Name("grid")
      .DataSource(data =>
                  data.Ajax()
                      .ServerOperation(false)
                      .Read(read =>
                            read.Action("MyAction", "MyController"))
      )
      .Columns(cols =>
          {
              cols.Bound(x => x.dt).Title("Date").Width(150);
              cols.Bound(x => x.name).Title("Name").Width(250);
          })
        .Filterable(filterable => filterable
            .Extra(false)
            .Operators(ops => ops
                .ForString(str => str.Clear()
                    .Contains("Contains")
                    .StartsWith("Starts with")
                    // any other filters you want in there
                    )))
      .Sortable())

私が正しく解釈している場合str.Clear()、存在するフィルターがクリアされるため、そこから独自のフィルターを構築できます。.EndsWithたとえば、クライアントがフィルターを必要としない、または望んでいないと思われる場合は、ここに含めません。

于 2013-08-01T17:29:40.137 に答える
1

ソースコードを開いた剣道ソリューションがあり、そのStringOperators下にクラス名がある場合Kendo.Mvc/UI/Grid/Settings

必要に応じて順序を変更するには Operators = new Dictionary<string, string>() 、ソリューションを再ビルドしてから、プロジェクトで生成されたファイルを上書きします。

于 2016-10-05T11:38:42.050 に答える