代码之家  ›  专栏  ›  技术社区  ›  John D

JsonQuickGrid TemplateColumn出现编译错误

  •  0
  • John D  · 技术社区  · 1 年前

    我是QuickGrid的新手。网络8。
    我收到了关于DateTimeQuickGrid.net-8的错误。

    错误(活动)CS1061“日期时间?”不包含的定义 “年份”,没有可访问的扩展方法“年份”接受第一个 类型为“DateTime?”的参数可以找到(你是否缺少使用 指令还是程序集参考?)

    我真的不明白错误文本,也不知道如何修复这个错误。 这个问题可以解决吗? 谢谢。

    QuickGrid非常适合 属性列 然而,在编译过程中出现了上述错误 模板列 如下图所示。

    <PropertyColumn Property="f => f.DT_END"   Format="MM/dd/yyyy" Title="End Date" Sortable="false"/>
    <TemplateColumn>
       <div>
          <span>@(_FilteredVehicles.First(r => r.UID_VEHICLE == context.UID_VEHICLE).DT_END!.Year.ToString())</span>
       </div>
    </TemplateColumn>
    

    // ////////////////////////////////////////////////////////////

    在上述编译错误不再出现后,感谢@MisterMagoo,我现在得到了这个我不理解的错误。

    错误(活动)RZ9999的子内容元素“ChildContent” 组件“TemplateColumn”使用的参数名(“context”)与 包含组件的子内容元素“ChildContent” “授权视图”。指定参数名称,如:'以解决歧义

    2 回复  |  直到 1 年前
        1
  •  1
  •   Mister Magoo    1 年前

    看起来像 DT_END Nullable ,相当于 Nullable<DateTime> -这意味着你需要得到 Value 要么明确

    DT_END.Value.Year -这可能会引发异常

    或者使用null条件运算符

    DT_END?.Year 这就是我在这里为你推荐的。

        2
  •  0
  •   John D    1 年前

    关于第二个错误。。。我找到了一个SO答案,指出了解决方案——将“授权视图”的“上下文”重命名为

    <AuthorizeView Roles="FCI, Admin,Manager" Context="authContext">
    

    希望如此 SO solution 帮助。

    Component 'EditForm' uses the same parameter name ('context') as enclosing child content element 'Authorized'

    推荐文章