sách gpt4 ai đã đi

Thông báo về những thay đổi đối với lưới/danh sách/cây bên trong lưới/danh sách/cây

In lại 作者:太空宇宙 更新时间:2023-11-04 07:07:15 32 4
mua khóa gpt4 Nike

我看到很多人想用 mvvm 更新网格/列表/树的一部分,但他们不想刷新整个列表。

对于所有遇到此问题的人,我做了以下示例。

希望这对你有用。

1 Câu trả lời

这是一个简单的例子。整个代码中最重要的是:

BindUtils.postNotifyChange(null, null, person, "childs");

第一个简单的pojo类:

package be.chillworld;

import java.util.ArrayList;
import java.util.List;

/**
*
* @author chillworld
*/
public class Person {
private int id;
private String naam;
private List childs = new ArrayList();

public Person(int id) {
this.id = id;
naam = "test " + id;
}

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public void setNaam(String naam) {
this.naam = naam;
}

public String getNaam() {
System.out.println("asked getter (naam) of "+ id);
return naam;
}

public List getChilds() {
System.out.println("asked getter (childs) of "+ id);
return childs;
}

public void setChilds(List childs) {
this.childs = childs;
}

public boolean addChild(Person person) {
return childs.add(person);
}

@Ghi đè
public String toString() {
return "Person{" + "id=" + id + ", name=" + getNaam() + '}';
}
}

然后是 IndexVM:

package be.chillworld;

import java.util.ArrayList;
import java.util.List;
import org.zkoss.bind.BindUtils;
import org.zkoss.bind.annotation.BindingParam;
import org.zkoss.bind.annotation.Command;

/**
*
* @author chillworld
*/
public class IndexVm {

private List persons;
int i;

public IndexVm() {
System.out.println("starting creating list");
persons = new ArrayList();
for (i = 0; i < 100; i++) {
Person person = new Person(i);
person.addChild(new Person(++i));
persons.add(person);
}
System.out.println("ending creating list");

}

public List getPersons() {
return persons;
}

public void setPersons(List persons) {
this.persons = persons;
}

@Command
public void showIndex(@BindingParam("person") Person person) {
System.out.println("changed name");
person.setNaam("Chillworld");
BindUtils.postNotifyChange(null, null, person, "naam");
}

@Command
public void addChild(@BindingParam("person") Person person) {
System.out.println("add child");
Person child = new Person(++i);
child.setNaam("new child");
person.addChild(child);
BindUtils.postNotifyChange(null, null, person, "childs");
}
}

最后是index.zul:



xmlns="http://www.zkoss.org/2005/zul"
xsi:schemaLocation="http://www.zkoss.org/2005/zul
http://www.zkoss.org/2005/zul/zul.xsd">

apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('be.chillworld.IndexVm')">










关于java - 通知网格/列表/树内网格/列表/树的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21173839/

32 4 0
Bài viết được đề xuất: c - 替换指向 char 数组的指针中的字符
Bài viết được đề xuất: java - 将文件内容读入循环链表
Bài viết được đề xuất: java - 递归函数遍历数组直到结束
Bài viết được đề xuất: java - 无法在我的 JPanel 中绘制图像
太空宇宙
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com