从移动服务数据源的列表视图中获取价值
Getting Value from listview from Mobile Service DataSource
我使用WinJS.Binding.List()将Azure Mobile Service数据绑定到Listview。我如何从列表视图中获得所选的值和索引?
//Javascript
var table = client.getTable('PatientInfo');
var birthCertData = function () {
table.read().done(function (results) {
birthCert = new WinJS.Binding.List(results);
listItems.winControl.itemDataSource = birthCert.dataSource;
});
};
function selectionChangedHandler() {
//what should I type here to get the selectedCell Value and index?
}
listItems.addEventListener("selectionchanged", selectionChangedHandler, false);
这是我的html
<div id="TemplateItem" data-win-control="WinJS.Binding.Template" style="display: none">
<div style="display: -ms-grid; -ms-grid-columns: auto 1fr">
<div style="-ms-grid-column: 2; margin-left: 5px; height: 40px; text-align: center; vertical-align: middle">
<h3 data-win-bind="innerText: birthcert"></h3>
</div>
</div>
</div>
<div id="listItems" class="win-selectionstylefilled"
data-win-control="WinJS.UI.ListView"
data-win-options="{ itemTemplate: select('#TemplateItem'),
layout: {type: WinJS.UI.ListLayout},
selectionMode: 'single',
tapBehavior: 'directSelect'}">
</div>
<div style="margin: 5px 0px 0px 72px; -ms-grid-column: 2">
<input type="text" id="textInput" />
</div>
截图:https://i.stack.imgur.com/Di0BP.png
谢谢
通过ListView的选择属性
function selectionChangedHandler(e) {
var numItemsSelected = listItems.selection.count;
var indicesSelected = listItems.selection.getIndices();
var itemsSelected = listItems.selection.getItems();
...
}
isselection接口为您提供了用于检测选择状态的其他选项。请注意,事件的详细数据(e.detail
)将为null,因此,如果您想一般地获取源ListView,您可以通过e.srcElement
这与实际问题无关,但可能对您有所帮助。目前,您正在等待读取WAMS表的整个内容,然后才将listview的数据源设置为整个读取表。我建议您创建一个本地的WinJS.Binding。列表,立即将listview的数据源设置为它,然后在读取WAMS表时,迭代结果数组并将结果推入Binding List。结果将与您所拥有的相同,但它将是一个更好的模式,并且允许在实际的数据调用之前完成一些工作。
function selectionChangedHandler(e) {
// get the index of the selected listview item
var index= e.srcElement.winControl.selection.getIndices();
// get the object of the selected index
var odata = birthcert.getAt(test);
//odata.[key] is the value of the selected listview's item.
}
listItems.addEventListener("selectionchanged", selectionChangedHandler, false);
相关文章:
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- Ui路由器:获取控制器中视图的名称
- 从youtube获取视图
- 每隔5秒从数据库获取数据,并通过AJAX将其发送到视图
- 获取特定视图的项目计数
- ExtJS 4.2如何获取视图的所有存储
- 如何使用jquery在网格视图中获取所选单选按钮的值
- MVC Razor 从 javascript 视图中的控制器获取值
- Ember.js路由器,从视图获取路由器
- 在Appcelerator Titanium中获取视图的相对位置
- M项目2:是否可以从DOM对象中获取M视图
- 使用美丽汤获取“视图元素”代码,而不是“查看源代码”代码
- 获取视图中可见数据的信息 - AngularJS
- KnockoutJS - 从嵌套对象获取视图模型数据
- 如何在Ember JS中获取视图中的模型数据
- Backbonejs在保存成功处理程序中获取视图
- 控制器无法获取视图的引用
- 从youtube url获取视图代码的正则表达式是什么?
- 如何获取视图区域的当前国家
- 获取视图中当前元素的id