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 پاسخ 419 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط samaz (0 امتیاز)
+1 امتیاز
1 پاسخ 351 بازدید
+2 امتیاز
3 پاسخ 1.6هزار بازدید
0 امتیاز
0 پاسخ 236 بازدید
سوال شده 7 سال قبل در برنامه نویسی توسط crusader (97 امتیاز)
0 امتیاز
1 پاسخ 485 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط mbanaee (32 امتیاز)
0 امتیاز
1 پاسخ 333 بازدید
0 امتیاز
2 پاسخ 833 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط aminiS (479 امتیاز)
0 امتیاز
1 پاسخ 225 بازدید
0 امتیاز
1 پاسخ 832 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط bahrambb (308 امتیاز)
+1 امتیاز
1 پاسخ 407 بازدید
...