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 پاسخ 416 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط samaz (0 امتیاز)
+1 امتیاز
1 پاسخ 347 بازدید
+2 امتیاز
3 پاسخ 1.6هزار بازدید
0 امتیاز
0 پاسخ 233 بازدید
سوال شده 7 سال قبل در برنامه نویسی توسط crusader (97 امتیاز)
0 امتیاز
1 پاسخ 477 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط mbanaee (32 امتیاز)
0 امتیاز
1 پاسخ 329 بازدید
0 امتیاز
2 پاسخ 829 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط aminiS (479 امتیاز)
0 امتیاز
1 پاسخ 223 بازدید
0 امتیاز
1 پاسخ 827 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط bahrambb (308 امتیاز)
+1 امتیاز
1 پاسخ 405 بازدید
...