关于这一点的很多主题......但没有说明如何做到这一点.
我有我的JQM页眉和页脚.我希望内容区域填充头部和脚部之间的100%高度.
那是我的代码,怎么可能?
<body>
<div data-role="page" id="entryPage" data-theme="d">
<div data-role="header" id="header" data-position="fixed" data-theme="d">
<h1>Page Title</h1>
</div><!-- /header -->
<div data-role="content" id="content" data-theme="d">
<div id="columnwrapper">
<div id="leftcolumn">
<div class="innertube">
Point 1
</div>
<div class="innertube">
Point 1
</div>
</div>
</div>
<div id="rightcolumn">
<div class="innertube">
<div id="switch1">
test
</div>
</div>
<div class="innertube">
test2
</div>
</div>
<div id="contentcolumn">
<div class="innertube">Content</div>
<div class="innertube">Content</div>
</div>
</div><!-- /content -->
<div data-role="footer" id="footer" data-position="fixed" data-theme="d">
<div id="switch2">
<a href="#foo" data-role="button" data-icon="arrow-u">Expand main menu</a>
</div>
</div><!-- /footer -->
</div><!-- …
Run Code Online (Sandbox Code Playgroud) 我想通过AJAX发布XML结构来获取过滤结果集.web服务能够处理发布请求,但我的POST发生似乎有些问题.
$.ajax({
url: ajaxurl,
data: {
inputxml: escape('<test></test>') <- how to post xml structure correctly?
},
type: 'POST',
contentType: "text/xml",
dataType: "text",
success : parse,
error : function (xhr, ajaxOptions, thrownError){
alert(xhr.status);
alert(thrownError);
}
});
Run Code Online (Sandbox Code Playgroud)
XML:
<?xml version="1.0" encoding="UTF-8"?>
<f:filterChain
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:f="urn:foo">
<f:filter attributeId="number">
<f:rangeCondition conditionSign="INCLUSION" operator="BETWEEN">
<f:low>5</f:low>
<f:high>15</f:high>
</f:rangeCondition>
</f:filter>
</f:filterChain>
Run Code Online (Sandbox Code Playgroud)
谢谢
将项目追加到我的列表时,jquery mobile的完整风格已经消失......不知道如何解决这个问题?
这当前有效:当没有附加列表项时,所有样式都可以.
<div class="ui-grid-a">
<div class="ui-block-a" id="blockaid">
<ul id="leftnav" data-role="listview" data-theme="g" data-filter="true" >
<li><a href="index.html">
<img src="images/bb.jpg" />
<h3>Firstname Lastname</h3>
<p>123456789</p>
</a></li>
</ul>
</div>
<div class="ui-block-b">
...
Run Code Online (Sandbox Code Playgroud)
但是,如果我开始使用从其他地方读取数据,所有样式都消失了:
$(document).ready(function() {
$.ajax({
url: 'test.xml',
dataType: "xml",
success : parse,
error : function (xhr, ajaxOptions, thrownError){
alert(xhr.status);
alert(thrownError);
}
});
function parse(document){
$(document).find("Details").each(function(){
$("#leftnav").append(
'<li>' + '<a href="#">' + '<img src="images/album-xx.jpg" />' +
'<h3>' + $(this).find('Name').text() + '</h3>' +
'<p>' + $(this).find('Number').text() + '</p>' +
'</a>' + '</li>'
);
});
} …
Run Code Online (Sandbox Code Playgroud) 我目前正面临着在SAPUI5中实现滑块的挑战,就像Webdynpro的Threshold-Slider一样,看起来像这样.
你会怎么做?它是高度动态的,比例(可以是5个值,可以是3个值等),描述取决于比例值......
目前我只在API中找到Slider,但我怀疑这是可以实现的......任何想法?
18.06.2015:目前我正在努力扩展sap.ui.commons.Slider,我现在得到的东西远离我试图实现的目标:
我得到了什么......
sap.ui.commons.Slider.extend("my.Slider", {
renderer : {
renderInnerAttributes : function(oRm, oControl) {
console.log(oRm); // try to find out, what I re-style
console.log(oControl); // try to find out, what I re-style
oRm.addStyle('background-color', '#ffff00'); // no effect
},
}
});
var oSlider6 = new my.Slider({
id : 'Slider6',
tooltip : 'Slider6',
width : '500px',
min : 1,
max : 4,
value : 0,
totalUnits : 4,
smallStepWidth : 1,
stepLabels : true,
labels : [ …
Run Code Online (Sandbox Code Playgroud) 我有多个 EntitySets 我想在我的 SAP 后端更新,因此我将我的数据(有效负载)作为 JSON 获取并将其放入请求中(它成功地在节点“数据”中):
代码:
var oTreeJSON = oTreeTable.getModel().getProperty("/root");
var oModel = sap.ui.getCore().getModel();
var batchChanges = [];
for (var i = 0; i < oTreeAll.length; i++) {
batchChanges.push(oModel.createBatchOperation("/sap/opu/odata/sap/MY_SERVICE/?$batch", "POST", oTreeAll[i]));
}
oModel.submitBatch();
Run Code Online (Sandbox Code Playgroud)
我的请求如下所示:
它应该到达 SAP 的哪个位置(哪种方法)?我做错了什么,任何地方都没有错误,但是我的后端没有调用......很高兴每一个提示!谢谢。
降低复杂性的工作示例:
var oEntry = {};
oEntry.MyId = "00000001";
oEntry.Value = "300";
batchChanges.push(oModel.createBatchOperation("MyEntitySet", "POST", oEntry, null));
oModel.addBatchChangeOperations(batchChanges);
oModel.setUseBatch(true);
oModel.submitBatch();
Run Code Online (Sandbox Code Playgroud)
为了记录,方法调用:
我有一个简单的表(类型sap.ui.table.Table
),允许用户对元素进行排序,过滤和分组。但是,一旦应用了排序或分组功能,就不可能删除它吗?可以通过在过滤器中不输入任何值来删除过滤器,但是如何删除排序/分组?
var oTableEmpl = new sap.ui.table.Table({
width : "100%",
visibleRowCount : 20,
selectionMode : sap.ui.table.SelectionMode.Multi,
navigationMode : sap.ui.table.NavigationMode.Scrollbar,
editable : false,
enableCellFilter : true,
enableColumnReordering : true,
enableGrouping : true,
extension : oMatrixLayout,
});
oTableEmpl.addColumn(new sap.ui.table.Column({
label : new sap.ui.commons.Label({
text : "Label",
textAlign : sap.ui.core.TextAlign.Center
}),
template : new sap.ui.commons.TextView({
text : "{Value}",
textAlign : sap.ui.core.TextAlign.Center
}),
visible : false,
sortProperty: "Value",
filterProperty: "Value",
}));
Run Code Online (Sandbox Code Playgroud)
这似乎很容易,但是在表本身中没有删除任何东西的选项。确实需要通过编程来删除它吗?
我目前正试图弄清楚如何从 sap.ui.model.json.JSONModel 中检索单个值
在我的主要观点中:
var gConfigModel = new sap.ui.model.json.JSONModel();
var getConfigCallback = function(config) {
gConfigModel.setData(config);
};
oController.getConfiguration(getConfigCallback);
console.log(gConfigModel);
Run Code Online (Sandbox Code Playgroud)
在我的控制器中:
getConfiguration : function(callback) {
var sServiceUrl = "/sap/opu/odata/sap/xxx/ConfigurationSet('Initialize')";
var config = {};
callback(config);
$.getJSON(sServiceUrl).done(function(data) {
config = data.d;
callback(config);
});
},
Run Code Online (Sandbox Code Playgroud)
在我的 console.log 语句中,我可以看到数据已成功从后端传递并成功设置为 JSON 模型。我的要求是将属性 Editable 的值存储在单个变量中。
我已经尝试过 gConfigModel.getProperty('/'),没有用。试图访问 gConfigModel.oData 未定义 .. 如何将其存储在单个值中?
解决方案评论:如果您从后端捕获数据,则必须注意它需要多长时间。数据可以在预期之后可用,在我的情况下,我添加了 1s 超时,之后我可以轻松访问该属性
setTimeout(function() {
console.log(gConfigModel.getProperty('/Editable'));
}, 1000);
Run Code Online (Sandbox Code Playgroud) 我有一个按钮,我想在press-method上将数据发布到我的SAP后端:
oCellBtnOtherchart.addContent(new sap.ui.commons.Button({
text : "Save",
press : function() {
var sServiceUrl = "/MyEntitSet('0001')";
var oModel = sap.ui.getCore().getModel();
console.log(oModel);
var oParameters = {
"email" : "a",
"lastname" : "b",
"firstname" : "c",
};
oModel.create(sServiceUrl, oParameters);
}
}));
Run Code Online (Sandbox Code Playgroud)
我的问题是:
但为什么它是405,我的服务网址错了?如何将数据正确发布到SAP后端?
SAP故障排除指南说:405方法不允许o Request-URI标识的资源不允许使用Request-Line中指定的方法.响应必须包含Allow标头,其中包含所请求资源的有效方法列表. - >这对我现在没有帮助,有谁知道如何包含一个允许标题?
如何通过从我的odata服务中读取表格中的单个单元格来启用实时建议?
oTable.addColumn(new sap.ui.table.Column({
template : new sap.m.Input({
value : column, // also works, its dynamic
textAlign : sap.ui.core.TextAlign.Center,
inputType : Text,
type : sap.m.InputType.Text,
showSuggestion : true,
liveChange : function() {
if (this.getValue().length > 0) {
var oModel = new sap.ui.model.json.JSONModel();
var value = this.getValue();
var serviceUrl = "/sap/opu/odata/SAP/XXXX_SRV/SuggestionsSet/?$filter=startswith(Key,'" + value + "')";
oModel.loadData(serviceUrl, null, false, "GET", false, false, null);
this.destroySuggestionItems();
for (var i = 0; i < oModel.oData.d.results.length; i++) {
this.addSuggestionItem(new sap.ui.core.Item({
text: oModel.oData.d.results[i].Key,
}));
} // everything seems …
Run Code Online (Sandbox Code Playgroud) 我想点击一个按钮,出现一个div,当点击相同的按钮时它应该消失.
实际上只是出现作品,如何再次隐藏它?
Skript:
$('#button').click(function() {
$('#ui-block-a').removeClass('visuallyhidden').addClass('ui-block-a'), function(){
$('#ui-block-a').addClass('visuallyhidden').removeClass('ui-block-a');
};
});
Run Code Online (Sandbox Code Playgroud)
HTML:
<div class="visuallyhidden" id="ui-block-a">
<ul data-role="listview" data-filter="true" id="nav"></ul>
</div>
Run Code Online (Sandbox Code Playgroud)
这里尝试使用回调,但它不起作用......