2013-04-16 68 views
0

是否有将元素添加到ListView的方法?我的目标是在不绑定数据的情况下做到这一点例如:将元素添加到ListView的方法

 myListView.add("one"); 
    myListView.add("two"); 

ECC

+0

有很少的信息!你在那里的listview是什么,...? –

+0

我的列表视图与此处显示的完全相同:http://msdn.microsoft.com/it-it/library/windows/apps/hh465496.aspx –

+1

它看起来不是为了在初始化之后添加元素而设计的if你检查方法列表:http://msdn.microsoft.com/it-it/library/windows/apps/br211837.aspx#methods ... –

回答

1

只需简单地将项目添加到您的初始列表。如果你有绑定设置,这会自动发生。

的Html

 
<div id="simpleBinding" data-win-control="WinJS.UI.ListView"></div> 

<div id="simpleBindingTemplate" data-win-control="WinJS.Binding.Template"> 
    <h3 data-win-bind="innerText:name" /> 
    <span>Name :</span><span data-win-bind="textContent: name"></span> 
    <img data-win-bind="src:imageUrl" /> 
</div> 

的Javascript

 


//Note you could also declare an object type to use here, 
//and instantiate them in the list below 
var Person = WinJS.Binding.define({ 
    name: "", 
    birthday: "" 
}); 

//Using the above object 
//var people = [ 
// new Person({ name: "Bob", birthday: "2/2/2002" }), 
// new Person({ name: "Sally", birthday: "3/3/2003" }), 
// new Person({ name: "Fred", birthday: "2/2/2002" }) 
//]; 


//Or simply using JSON 
var people = [{ name: 'mary', birthday: '1/1/2010' }, 
       { name: 'fred', birthday: '1/1/2012' }]; 

//create the binding wrapper 
var simpleFriends = new WinJS.Binding.List(people); 

//get the ref to your list view 
var simpleListView = document.getElementById('simpleBinding').winControl; 

//get your template 
var simpleTemplate = document.getElementById('simpleBindingTemplate'); 

simpleListView.itemDataSource = simpleFriends.dataSource; 
//can also set in the markup for this element 
simpleListView.itemTemplate = simpleTemplate; 


//add a new item. the binding update happens automatically 
//Could use a Person object we defined 
//simpleFriends.push(new Person({ name: "Dynamically added", birthday: "2/2/2002"})); 

//or JSON 
simpleFriends.push({ name: "Dynamically added", birthday: "2/2/2002"}); 
 

对于删除的项目,您可以使用POP或检查出这个职位索引方法 Removing an item from a WinJS.Binding.List

有在App Builder中一些好的内容绑定'Day 10'App Builder

+0

非常感谢,只是一个问题:Where/How“Person “被宣布? –

+0

woops,忘记了Person对象的定义,它显示你可以混合/匹配你添加的对象类型 - IE你可以.push()一个不同的'type'(尽管我在这里使用'type'loosley这个术语)已经存在,因为JavaScript是一种松散类型的语言。请参阅上面的编辑,我添加了一些评论。 –

+0

非常感谢,它非常完美,我解决了我的问题! =) –