0 امتیاز
قبل در برنامه نویسی توسط (308 امتیاز)
برچسب گذاری دوباره قبل توسط

من از کد زیر برای پیدا کردن چک باکسی که تیک ان زده شده استفاده میکنم

public class Bean {

    List<User> checkedItems;
    private boolean check;
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<User> getCheckedItems() {
        return checkedItems;
    }

    public void setCheckedItems(List<User> checkedItems) {
        this.checkedItems = checkedItems;
    }

    public boolean isCheck() {
        return check;
    }

    public void setCheck(boolean check) {
        this.check = check;
    }
    private List<User> users = new ArrayList<>(Arrays.asList(new User(1,"bahram"), new User(2,"amir"), new User(3,"zahra")));

    public List<User> getUsers() {
        return users;
    }
    private Map<Long, Boolean> checked = new HashMap<>();

    public Map<Long, Boolean> getChecked() {
        return checked;
    }

    public void setChecked(Map<Long, Boolean> checked) {
        this.checked = checked;
    }

    public String submit() {
        checkedItems = new ArrayList<>();

        for (User item : users) {
            if (checked.get(item.getId())) {
                  checkedItems.add(item);

            }

        }

        checked.clear(); // If necessary.
        return "wel";
        // Now do your thing with checkedItems.
    }

}

و در صفحه jsf برای دسترسی به این چک باکس از کد زیر...

<h:dataTable value="#{bean.users}" var="user" id="bean">
                <h:column>
                <h:selectBooleanCheckbox value="#{bean.checked[user.id]}"/>
                </h:column>
            </h:dataTable>

[bean.checked[user.id چطور کار می کند و چه ساختاری در jsf است

1 پاسخ

0 امتیاز
قبل توسط (65 امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ
در مورد bean.checked باید گفت گه checked در این کد یک آبجکت از نوع map هست. که کلید آن آیدی یوزر هست و مقدار آن هم مشخص کننده انتخاب شدن یا نشدن آن ردیف که یک مقدار boolean است. علاوه بر این شما می تونین از wrapper هم برای انجام این کار استفاده کنین.

سوالات مشابه

0 امتیاز
1 پاسخ 731 بازدید
سوال شده 6 سال قبل در برنامه نویسی توسط samaz (0 امتیاز)
+1 امتیاز
1 پاسخ 463 بازدید
+2 امتیاز
3 پاسخ 1.8هزار بازدید
0 امتیاز
0 پاسخ 360 بازدید
سوال شده 8 سال قبل در برنامه نویسی توسط crusader (97 امتیاز)
0 امتیاز
1 پاسخ 596 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط mbanaee (32 امتیاز)
0 امتیاز
1 پاسخ 507 بازدید
0 امتیاز
2 پاسخ 941 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط aminiS (479 امتیاز)
0 امتیاز
1 پاسخ 308 بازدید
0 امتیاز
1 پاسخ 952 بازدید
سوال شده 11 سال قبل در برنامه نویسی توسط bahrambb (308 امتیاز)
+1 امتیاز
1 پاسخ 704 بازدید
...