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 پاسخ 422 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط samaz (0 امتیاز)
+1 امتیاز
1 پاسخ 355 بازدید
+2 امتیاز
3 پاسخ 1.6هزار بازدید
0 امتیاز
0 پاسخ 239 بازدید
سوال شده 7 سال قبل در برنامه نویسی توسط crusader (97 امتیاز)
0 امتیاز
1 پاسخ 498 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط mbanaee (32 امتیاز)
0 امتیاز
1 پاسخ 335 بازدید
0 امتیاز
2 پاسخ 838 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط aminiS (479 امتیاز)
0 امتیاز
1 پاسخ 227 بازدید
0 امتیاز
1 پاسخ 836 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط bahrambb (308 امتیاز)
+1 امتیاز
1 پاسخ 411 بازدید
...