Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 剑道网格计算变量_Javascript_Kendo Grid_Kendo Asp.net Mvc - Fatal编程技术网

Javascript 剑道网格计算变量

Javascript 剑道网格计算变量,javascript,kendo-grid,kendo-asp.net-mvc,Javascript,Kendo Grid,Kendo Asp.net Mvc,我想在我使用的剑道网格中添加一个计算字段。以下是我的代码片段: @{Html.Kendo().Grid<StatuteMaintenance.Data.Statute>() .Name("mainGrid") .Columns(c => { c.Bound(e => e.Statute_Number);

我想在我使用的剑道网格中添加一个计算字段。以下是我的代码片段:

        @{Html.Kendo().Grid<StatuteMaintenance.Data.Statute>()
              .Name("mainGrid")
              .Columns(c =>
              {
                  c.Bound(e => e.Statute_Number);
                  c.Bound(e => e.Statute_Description);
                  c.Bound(e => e.Effective_Start_Date).Format("{0:MM/dd/yyyy}");
                  c.Bound(e => e.Expiration_Date).Format("{0:MM/dd/yyyy}");
                  c.Bound(e => e.VIO_Type);
                  c.Bound(e => e.Fine_Amount);
                  c.Template(e => { }).ClientTemplate("#=calculate(Exipration_Date)#");//should be handled in model. 
                  if (Roles.IsUserInRole("NSP\\IT-Development All")) { c.Command(command => { command.Edit(); }); }
              })
              .Editable(editable => editable.Mode(GridEditMode.InLine))
              .Sortable()
              .Filterable()
              .Pageable(p => p
              .Refresh(true)
              .PageSizes(true)
            )

                .DataSource(d => d
                .Ajax()
                .Model(m =>
                {
                    m.Id(e => e.TreeID);
                    m.Field(e => e.Statute_Number).Editable(false);
                    m.Field(e => e.VIO_Type).Editable(true);
                    m.Field(e => e.Statute_Description).Editable(false);
                    m.Field(e => e.Effective_Start_Date).Editable(false);
                    m.Field(e => e.Expiration_Date).Editable(false);
                    //m.Field(e => e.CurrentlyEffective).Editable(false);   
                }



                )
                .Read(r => r.Action("VioTypeGridDataSource", "VIOType"))
                .Update(r => r.Action("VioTypeGridUpdate", "VIOType"))
                .Sort(s => s.Add(e => e.Statute_Number).Ascending())
            )
                .Render();

        }

<script>
function calculate(s) {

    console.log(s);
    result = "";
    if (s.Expiration_Date < DateTime.Now) {
        result = "No"
    }
    else {
        result = "Yes"
    }
    return result;
}
@{Html.Kendo().Grid()
.名称(“主电网”)
.列(c=>
{
c、 绑定(e=>e.U号);
c、 绑定(e=>e.U描述);
c、 绑定(e=>e.Effective_Start_Date).Format(“{0:MM/dd/yyyy}”);
c、 绑定(e=>e.Expiration_Date).Format(“{0:MM/dd/yyyyy}”);
c、 绑定(e=>e.VIO_类型);
c、 绑定(e=>e.罚款金额);
c、 Template(e=>{}).ClientTemplate(#=calculate(Exipration#u Date)#*)//应该在模型中处理。
if(Roles.IsUserInRole(“NSP\\IT Development All”){c.Command(Command=>{Command.Edit();});}
})
.Editable(可编辑=>Editable.Mode(GridEditMode.InLine))
.Sortable()
.可过滤()
.Pageable(p=>p
.刷新(真)
.页面大小(真)
)
.DataSource(d=>d
.Ajax()
.Model(m=>
{
m、 Id(e=>e.TreeID);
m、 字段(e=>e.U编号)。可编辑(假);
m、 字段(e=>e.VIO_类型)。可编辑(true);
m、 字段(e=>e.U描述)。可编辑(false);
m、 字段(e=>e.Effective\u Start\u Date)。可编辑(false);
m、 字段(e=>e.Expiration\u Date)。可编辑(false);
//m、 字段(e=>e.CurrentlyEffect)。可编辑(false);
}
)
.Read(r=>r.Action(“VioTypeGridDataSource”、“VIOType”))
.Update(r=>r.Action(“VioTypeGridUpdate”、“VIOType”))
.Sort(s=>s.Add(e=>e.status\u Number).Ascending())
)
.Render();
}
函数计算{
控制台日志;
结果=”;
如果(s.Expiration\u Date

我得到一个未定义“s”的运行时错误


我这样做对吗?我查看了其他示例,没有一个示例的计算中有“DateTime”。

模板列中的过期日期拼写不正确。我已将其注释掉。确保其拼写与模型法规中的拼写相同

所有使用客户机模板的示例都与绑定列一起工作,我在下面的代码片段中也做了同样的工作。您还可以取消对行的注释,并更正expiration的拼写,然后查看不使用绑定列附加的想法是否有效,或者使用现有的代码段代码是否有效

我还稍微调整了剑道网格声明

  @(Html.Kendo().Grid<StatuteMaintenance.Data.Statute>()
                  .Name("mainGrid")
                  .Columns(c =>
                  {
                      c.Bound(e => e.Statute_Number);
                      c.Bound(e => e.Statute_Description);
                      c.Bound(e => e.Effective_Start_Date).Format("{0:MM/dd/yyyy}");
                      c.Bound(e => e.Expiration_Date).Format("{0:MM/dd/yyyy}");
                      c.Bound(e => e.VIO_Type);
                      c.Bound(e => e.Fine_Amount);
//c.Template(e => { }).ClientTemplate("#=calculate(Expiration_Date)#");//should //be handled in model. 
                      c.Bound( e=>e.Expiration_Date).ClientTemplate("#=calculate(Expiration_Date)#"); 
                      if (Roles.IsUserInRole("NSP\\IT-Development All")) { c.Command(command => { command.Edit(); }); }
                  })
                  .Editable(editable => editable.Mode(GridEditMode.InLine))
                  .Sortable()
                  .Filterable()
                  .Pageable(p => p
                  .Refresh(true)
                  .PageSizes(true)
                )
    
                    .DataSource(d => d
                    .Ajax()
                    .Model(m =>
                    {
                        m.Id(e => e.TreeID);
                        m.Field(e => e.Statute_Number).Editable(false);
                        m.Field(e => e.VIO_Type).Editable(true);
                        m.Field(e => e.Statute_Description).Editable(false);
                        m.Field(e => e.Effective_Start_Date).Editable(false);
                        m.Field(e => e.Expiration_Date).Editable(false);
                        //m.Field(e => e.CurrentlyEffective).Editable(false);   
                    }
    
    
    
                    )
                    .Read(r => r.Action("VioTypeGridDataSource", "VIOType"))
                    .Update(r => r.Action("VioTypeGridUpdate", "VIOType"))
                    .Sort(s => s.Add(e => e.Statute_Number).Ascending())
                )
                    .Render();
    
            )
    
    
    
    <script>
    function calculate(s) {
    
        console.log(s);

       // result = "";
      //  if (s.Expiration_Date < DateTime.Now) {
         //   result = "No"
        //}
       // else {
         //   result = "Yes"
        //}
       // return result;
    }
@(Html.Kendo().Grid())
.名称(“主电网”)
.列(c=>
{
c、 绑定(e=>e.U号);
c、 绑定(e=>e.U描述);
c、 绑定(e=>e.Effective_Start_Date).Format(“{0:MM/dd/yyyy}”);
c、 绑定(e=>e.Expiration_Date).Format(“{0:MM/dd/yyyyy}”);
c、 绑定(e=>e.VIO_类型);
c、 绑定(e=>e.罚款金额);
//c、 Template(e=>{}).ClientTemplate(#=calculate(Expiration#Date)#)应该//在模型中处理。
c、 绑定(e=>e.Expiration_Date).ClientTemplate(“#=计算(Expiration_Date)#”);
if(Roles.IsUserInRole(“NSP\\IT Development All”){c.Command(Command=>{Command.Edit();});}
})
.Editable(可编辑=>Editable.Mode(GridEditMode.InLine))
.Sortable()
.可过滤()
.Pageable(p=>p
.刷新(真)
.页面大小(真)
)
.DataSource(d=>d
.Ajax()
.Model(m=>
{
m、 Id(e=>e.TreeID);
m、 字段(e=>e.U编号)。可编辑(假);
m、 字段(e=>e.VIO_类型)。可编辑(true);
m、 字段(e=>e.U描述)。可编辑(false);
m、 字段(e=>e.Effective\u Start\u Date)。可编辑(false);
m、 字段(e=>e.Expiration\u Date)。可编辑(false);
//m、 字段(e=>e.CurrentlyEffect)。可编辑(false);
}
)
.Read(r=>r.Action(“VioTypeGridDataSource”、“VIOType”))
.Update(r=>r.Action(“VioTypeGridUpdate”、“VIOType”))
.Sort(s=>s.Add(e=>e.status\u Number).Ascending())
)
.Render();
)
函数计算{
控制台日志;
//结果=”;
//如果(s.Expiration\u Date
看看这个使用HTML5完成的示例


我仍然收到相同的错误,这次是“过期日期未定义”。在其他示例中,我看到整个网格都封装在脚本中。我的剑道格网在脚本之外运行,这可能是我的问题。仍在寻找解决方案。编辑问题并将当前版本的完整代码粘贴到此处。如果您能快速完成,我将尝试提供帮助。我已发布完整代码>Luke Shinn。你忘了接受它作为一个答案,让我知道它是否适合你。回答这个问题需要很多努力。