<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>OData Date Table Multiple Sorters</title>
<link rel="stylesheet" type="text/css" href="">
<script id="sap-ui-bootstrap" src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js" type="text/javascript" data-sap-ui-libs="sap.ui.core,sap.ui.commons,sap.ui.table" data-sap-ui-theme="sap_goldreflection">
</script>
<script>
var aColumnData = [{
columnId: "col1"
}, {
columnId: "col2"
}, {
columnId: "col3"
}, {
columnId: "col4"
}, {
columnId: "col5"
}];
var aData = [{
col1: "Row 1 col 1",
col2: "Row 1 col 2",
col3: "Row 1 col 3",
col4: "Row 1 col 4",
col5: "Row 1 col 5"
}, {
col1: "Row 2 col 1",
col2: "Row 2 col 2",
col3: "Row 2 col 3",
col4: "Row 2 col 4",
col5: "Row 2 col 5"
}];
var oModel = new sap.ui.model.json.JSONModel();
oModel.setData({
columns: aColumnData,
rows: aData
});
var oTable = new sap.ui.table.Table({
title: "Table column and data binding",
showNoData : true,
columnHeaderHeight : 10,
visibleRowCount: 7
});
oTable.setModel(oModel);
oTable.bindColumns("/columns", function(index, context) {
var sColumnId = context.getObject().columnId;
//alert(sColumnId.);
return new sap.ui.table.Column({
id : sColumnId,
label: sColumnId,
// template: sColumnId,
template: new sap.ui.commons.Button({
text : sColumnId,
icon :
"sap-icon://accept",
enabled: true,
press: function(e) {
}}),
sortProperty: sColumnId,
filterProperty: sColumnId
});
});
oTable.bindRows("/rows");
oTable.placeAt("content");
</script>
</head>
<body class="sapUiBody" id="body" role="application">
<div id="content"></div>
</body>
</html>
ボタンのテキストとしての列の値の代わりに、列の名前を取得します。下に述べたように、私は、出力が正しい取得ボタンからsColumnIdにテンプレートの値を変更した場合でも:Openui5テーブルの列とボタンを動的に追加する
template: sColumnId,
ここjsbinためのリンクです:http://jsbin.com/horozew/edit?html,output
ありがとうございました!これはうまくいきました – SiddP
もし 'sColumnId.get()'が私に値 'Col1Row1'を与えるような値を得たいのであれば、そうすることが可能です。 – SiddP
'oText = sap.ui.table.TableHelper.createTextView({テキスト:{パス:sColumnId}}); alert(oText.getText()); 'なぜこのようなものは動作しません。 – SiddP