Kendo 网格和 ui-sref 向上舍入数字
Kendo Grid and ui-sref rounding up number
我正在尝试做一些相对简单的事情,但有一个问题让我发疯,我确定我错过了一些简单的事情。
我有一个 AngularJS 网站,大部分情况下工作正常,而且我有一个 Kendo 网格。我想要做的就是让网格的第一列有一个 link 到另一个页面,使用网格数据中的 ID。
我正在使用的代码在下面,它的工作原理是它创建了一个 link 主要基于我的要求,但出于某种奇怪的原因,它使用的 ID 作为 [=28= 的一部分] 正在围捕。举个例子,我需要使用的实际 ID 是 37509488620601829,这是我的 API 返回的内容,如果我将 ID 字段作为我的 table 中的一列,但在link 这会四舍五入为 37509488620601830(注意最后 2 位数字)。
感谢任何对此的见解。
<div kendo-grid k-data-source="SearchResultsGrid" k-columns="[{'field': 'Name' , 'title':'Name', 'template': '<a ui-sref="Id({ Id: #: Id # }) ">#: Name #</a>' },{'field': 'Alias' , 'title':'Alias' },{'field': 'Server' , 'title':'Server' },{'field': 'Faction' , 'title':'Faction' }]"></div>
尝试更改这部分代码
'<a ui-sref="Id({ Id: #: Id # }) ">'
到
'<a ui-sref="Id({ #: Id # })">'
首先,将这样的配置保留在 HTML 之外。这使得事情更容易阅读和管理。其次,推荐的绑定方式是使用angular的ng-bind
或插值({{}}
)方法,而不是Kendo的默认模板绑定。在提供给网格的模板中,您可以访问 dataItem
变量。这是对行项目的引用。
HTML:
<div kendo-grid k-options="gridOptions"></div>
控制器:
scope.gridOptions = {
dataSource: SearchResultsGrid,
columns: [{
'field': 'Name',
'title': 'Name',
// 'template': '<a ui-sref="Id({ Id: #: Id # }) ">#: Name #</a>'
'template': '<a ui-sref="{{dataItem.Id}}">{{dataItem.Name}}</a>'
}, {
'field': 'Alias',
'title': 'Alias'
}, {
'field': 'Server',
'title': 'Server'
}, {
'field': 'Faction',
'title': 'Faction'
}]
};
你不应该提到 html 中的 def 列,它自己将它存储在某个范围变量中,然后将那个范围变量引用分配给它
Kendo 变量可以在模板中使用 #= variableName #
访问,你正在做 #: variableName #
这让你遇到了问题
标记
<div kendo-grid k-data-source="SearchResultsGrid" k-columns="columnDef"></div>
代码
$scope.columnDef =[{
'field': 'Name',
'title': 'Name',
'template': '<a ui-sref="Id({ \'Id\': #= Id # })">#= Name #</a>'
}, {
'field': 'Alias',
'title': 'Alias'
}, {
'field': 'Server',
'title': 'Server'
}, {
'field': 'Faction',
'title': 'Faction'
}];
我正在尝试做一些相对简单的事情,但有一个问题让我发疯,我确定我错过了一些简单的事情。
我有一个 AngularJS 网站,大部分情况下工作正常,而且我有一个 Kendo 网格。我想要做的就是让网格的第一列有一个 link 到另一个页面,使用网格数据中的 ID。
我正在使用的代码在下面,它的工作原理是它创建了一个 link 主要基于我的要求,但出于某种奇怪的原因,它使用的 ID 作为 [=28= 的一部分] 正在围捕。举个例子,我需要使用的实际 ID 是 37509488620601829,这是我的 API 返回的内容,如果我将 ID 字段作为我的 table 中的一列,但在link 这会四舍五入为 37509488620601830(注意最后 2 位数字)。
感谢任何对此的见解。
<div kendo-grid k-data-source="SearchResultsGrid" k-columns="[{'field': 'Name' , 'title':'Name', 'template': '<a ui-sref="Id({ Id: #: Id # }) ">#: Name #</a>' },{'field': 'Alias' , 'title':'Alias' },{'field': 'Server' , 'title':'Server' },{'field': 'Faction' , 'title':'Faction' }]"></div>
尝试更改这部分代码
'<a ui-sref="Id({ Id: #: Id # }) ">'
到
'<a ui-sref="Id({ #: Id # })">'
首先,将这样的配置保留在 HTML 之外。这使得事情更容易阅读和管理。其次,推荐的绑定方式是使用angular的ng-bind
或插值({{}}
)方法,而不是Kendo的默认模板绑定。在提供给网格的模板中,您可以访问 dataItem
变量。这是对行项目的引用。
HTML:
<div kendo-grid k-options="gridOptions"></div>
控制器:
scope.gridOptions = {
dataSource: SearchResultsGrid,
columns: [{
'field': 'Name',
'title': 'Name',
// 'template': '<a ui-sref="Id({ Id: #: Id # }) ">#: Name #</a>'
'template': '<a ui-sref="{{dataItem.Id}}">{{dataItem.Name}}</a>'
}, {
'field': 'Alias',
'title': 'Alias'
}, {
'field': 'Server',
'title': 'Server'
}, {
'field': 'Faction',
'title': 'Faction'
}]
};
你不应该提到 html 中的 def 列,它自己将它存储在某个范围变量中,然后将那个范围变量引用分配给它
Kendo 变量可以在模板中使用 #= variableName #
访问,你正在做 #: variableName #
这让你遇到了问题
标记
<div kendo-grid k-data-source="SearchResultsGrid" k-columns="columnDef"></div>
代码
$scope.columnDef =[{
'field': 'Name',
'title': 'Name',
'template': '<a ui-sref="Id({ \'Id\': #= Id # })">#= Name #</a>'
}, {
'field': 'Alias',
'title': 'Alias'
}, {
'field': 'Server',
'title': 'Server'
}, {
'field': 'Faction',
'title': 'Faction'
}];