简体   繁体   中英

Kendo grid pass parameters from colum to js function

Can you help me, please! I use Kendo UI MVC. I just create ClientTemplate, but I do not know how to pass parameters correctly from my model.

.Columns(columns =>
      {
          columns.Bound(i => i.ExtractionDate).Title(CwAppContext.GetString<GridsTitles>("lblExtractionDate")).Groupable(false).Width(150)
          .ClientTemplate("\\# if (IsWeWrite) { \\#  \\#=ExtractionDate\\#  \\#} else { \\# " +
              "<a class='issue-date-link' data-is-european-country='\\#=IsEuropeanCountry\\#' data-language-id='\\#=LanguageId\\#' data-available='\\#=IsAvailable\\#' data-doc-id='\\#=DocId\\#'>\\#=ExtractionDate\\#</a>" +
              "\\# } \\#");

          columns.Bound(i => i.IssueDate).Title(CwAppContext.GetString<GridsTitles>("ttlIssueDate")).Groupable(false);
      })

Finally I want to create some functions and invoke it like:

.ClientTemplate(IssueDateClientTemplate().ToString());

But my code is not correct. Can somebody explain and help me?

@helper IssueDateClientTemplate()
{
    <text>
        # if (IsWeWrite) {\\#:ExtractionDate\\#} else { #
        <a class='issue-date-link' data-is-european-country='\\#=IsEuropeanCountry\#'
           data-language-id='\\#=LanguageId\\#' data-available='\\#=IsAvailable\\#'
           data-doc-id='\\#=DocId\\#'>\\#=ExtractionDate\\#</a>"# }#
    </text>
}

Examples how to use templates when you use server or client binding:
Client binding

Helper:

@helper IssueDateClientTemplate()
{
    <text>
        # if(Id == 1) { #
        <a class='issue-date-link' data-is-european-country='#=Id#'>#=Id#</a>
        # } #
    </text>
}

Column:

columns.Bound(c => c.Name).ClientTemplate(IssueDateClientTemplate().ToString().Trim());


Server binding:

Helper:

@helper IssueDateClientTemplate(BaseData item)
{
    if (item.Id == 1)
    {
        <a class='issue-date-link' data-is-european-country='@item.Id'>@item.Id</a>
    }
}


Column:

columns.Bound(c => c.Name).Template(@<text>@IssueDateClientTemplate(item)</text>);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM