gpt4 book ai didi

angular-ui - 在ng-grid的任何人中添加html链接

转载 作者:行者123 更新时间:2023-12-04 22:43:11 24 4
gpt4 key购买 nike

我想添加链接到ng-grid。
这是我的代码供您引用

<html ng-app="myApp">  
<head lang="en">
<meta charset="utf-8">
<title>Getting Started With ngGrid Example</title>
<link href="../../Content/ng-grid.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery-1.9.1.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.8.20.js" type="text/javascript"></script>
<script src="../../Scripts/angular.js" type="text/javascript"></script>
<script src="../../Scripts/ng-grid.js" type="text/javascript"></script>
<script src="../../Scripts/main.js" type="text/javascript"></script>
<script type="text/javascript">
var app = angular.module('myApp', ['ngGrid']);
app.controller('MyCtrl', function ($scope) {
$scope.myData = [{ name: "RK.PRABAKAR", age: 25, href: "<a href='#'>Link1</a>" },
{ name: "Yoga", age: 27, href: "<a href='#'>Link1</a>" },
{ name: "James", age: 27, href: "<a href='#'>Link1</a>" },
{ name: "Siva", age: 35, href: "<a href='#'>Link1</a>" },
{ name: "KK", age: 27, href: "<a href='#'>Link1</a>"}];

$scope.pagingOptions = {
pageSizes: [2, 4, 6],
pageSize: 2,
currentPage: 1
};

$scope.gridOptions = {
data: 'myData',
enablePaging: true,
showFooter: true,
enableCellSelection: true,
enableRowSelection: false,
enablePinning: true,
pagingOptions: $scope.pagingOptions,
enableCellEdit: true,
columnDefs: [{ field: 'name', displayName: 'Name', enableCellEdit: true },
{ field: 'age', displayName: 'Age', enableCellEdit: true },
{ field: 'href', displayName: 'Link', enableCellEdit: false }]
};
});
</script>
<style>
.gridStyle {
border: 1px solid rgb(212,212,212);
width: 500px;
height: 300px;
}
</style>
</head>
<body data-ng-controller="MyCtrl">
<div class="gridStyle" data-ng-grid="gridOptions"></div>
</body>

现在,数据网格工作正常,除了网格中的href链接。
链接未呈现到html标签,它显示为普通字符串。
我想从myData添加到ng-grid的链接

最佳答案

更新:

已经注意到,此答案不适用于ui-grid。这是可以理解的,因为在回答时只有ng-grid存在;但是,用{{COL_FIELD}}代替{{row.getProperty(col.field)}}可以使解决方案对于ng-gridui-grid均有效。

我知道我在写此答案时就在这种情况下使用了COL_FIELD,所以我不确定使用更长的row.getProperty(col.field)回答的理由……但是无论如何,请使用COL_FIELD,并且与ng-gridui-grid搭配使用应该很好。

原始(不变)答案:

您只需要为“链接”字段定义一个单元格模板...

您可以内联进行此操作:

{
field: 'href',
displayName: 'Link',
enableCellEdit: false,
cellTemplate: '<div class="ngCellText" ng-class="col.colIndex()"><a href="{{row.getProperty(col.field)}}">Visible text</a></div>'
}

或者您可以通过使用变量来做到这一点(使您的gridOptions更加简洁:
var linkCellTemplate = '<div class="ngCellText" ng-class="col.colIndex()">' +
' <a href="{{row.getProperty(col.field)}}">Visible text</a>' +
'</div>';

{
field: 'href',
displayName: 'Link',
enableCellEdit: false,
cellTemplate: linkCellTemplate
}

或者,您甚至可以将模板放在外部HTML文件中,然后指向URL:
{
field: 'href',
displayName: 'Link',
enableCellEdit: false,
cellTemplate: 'linkCellTemplate.html'
}

…并且您只需要将URL作为 href存储在 myData中即可使用此解决方案:)

Look here for an example of a cell template.

关于angular-ui - 在ng-grid的任何人中添加html链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18310007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com