2012-03-25 4 views
0

私はウィッケットに取り組んでいます。 Listviewで生成されたテーブルのすべての行に対してチェックボックスを使用しました。私はチェックボックスの選択を使用して特定の行を削除したい。チェックボックスを使用してリストビューで生成したテーブルの複数行を削除する方法

この表は、表データを示すListviewを使用して生成できます。複数のチェックボックスを選択して行IDを取得する方法を教えてください。どうすればいいの?

package com.cerebrum.pages; 

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

import org.apache.wicket.ajax.AjaxRequestTarget; 
import org.apache.wicket.ajax.markup.html.form.AjaxButton; 
import org.apache.wicket.markup.html.form.CheckBox; 
import org.apache.wicket.markup.html.form.CheckGroup; 
import org.apache.wicket.markup.html.form.CheckGroupSelector; 
import org.apache.wicket.markup.html.form.Form; 
import org.apache.wicket.markup.html.form.TextField; 
import org.apache.wicket.markup.html.list.ListItem; 
import org.apache.wicket.markup.html.list.ListView; 
import org.apache.wicket.model.CompoundPropertyModel; 
import org.apache.wicket.model.PropertyModel; 

import com.cerebrum.common.Home; 
import com.cerebrum.hibernate.Users; 
import com.cerebrum.hibernate.UsersHome; 
import com.cerebrum.pojo.AdminViewUserModel; 

public class AdminViewUser extends Home 
{ 
    UsersHome usersHome=new UsersHome(); 
    List<AdminViewUserModel> listCal = new ArrayList<AdminViewUserModel>(); 
    AdminViewUserModel adminViewUserModel=new AdminViewUserModel(); 

    public AdminViewUser() 
    { 
     super(); 
     add(new AdminViewUserForm()); 
    } 

    public class AdminViewUserForm extends Form 
    { 
     public AdminViewUserForm() 
     { 
      super("AdminViewUserForm"); 
      setModel(new CompoundPropertyModel(adminViewUserModel)); 

      List<Users> lstUsers=usersHome.getUserInfo(); 
      for(Users users:lstUsers) 
      { 
       listCal.add(new AdminViewUserModel(users.getFirstName(), 
        users.getMiddleName(),users.getLastName(),users.getDateOfBirth(), 
        users.getEmailId(),users.getMobileNo(),users.getUserName(), 
        users.getPassword())); 
      } 

      ListView listViewCal = new ListView("listViewCal", listCal) 
      { 
       protected void populateItem(ListItem item) 
       { 
        AdminViewUserModel model=(AdminViewUserModel)item.getDefaultModelObject(); 
        CheckBox chkBoxSelect=new CheckBox("chkBoxSelect",new PropertyModel(model, "chkBoxSelect")); 
        item.add(chkBoxSelect); 

        TextField txtFname=new TextField("txtFname",new PropertyModel(model, "txtFname")); 
        item.add(txtFname); 

        TextField txtMname=new TextField("txtMname",new PropertyModel(model, "txtMname")); 
        item.add(txtMname); 
        TextField txtLname=new TextField("txtLname",new PropertyModel(model, "txtLname")); 
        item.add(txtLname); 
        TextField txtDOB=new TextField("txtDOB",new PropertyModel(model, "txtDOB")); 
        item.add(txtDOB); 
        TextField txtEmail=new TextField("txtEmail",new PropertyModel(model, "txtEmail")); 
        item.add(txtEmail); 
        TextField txtMobileNo=new TextField("txtMobileNo",new PropertyModel(model, "txtMobileNo")); 
        item.add(txtMobileNo); 

        TextField txtUserName=new TextField("txtUserName",new PropertyModel(model, "txtUserName")); 
        item.add(txtUserName); 
        TextField txtPassword=new TextField("txtPassword",new PropertyModel(model, "txtPassword")); 
        item.add(txtPassword); 
       } 
      }; 
      listViewCal.setOutputMarkupId(true); 
      add(listViewCal); 

      AjaxButton btnUpdate=new AjaxButton("btnUpdate") 
      { 
       @Override 
       protected void onSubmit(AjaxRequestTarget target, Form<?> arg1) 
       { 
       } 
      }; 
      btnUpdate.setOutputMarkupId(true); 
      add(btnUpdate); 

      AjaxButton btnDelete=new AjaxButton("btnDelete") 
      { 
       @Override 
       protected void onSubmit(AjaxRequestTarget target, Form<?> arg1) 
       { 
       } 
      }; 
      add(btnDelete); 
     } 
    } 
} 
+2

はhttp://stackoverflow.com/questions/9850232/data-comes-from-list-but-does-not-seen-onto-を修正しよう最初のページ。多くの関連する質問をしないでください。また、私はWicketモデルに関するいくつかの読書をすることをお勧めします。 – bert

答えて

1
+0

それは私がそれをやる方法です。奇妙なwicketは、この共通のrequiereend ..のために何かを持っているようには表示されません。 – bert

+0

それはしかし、実装するのは簡単です。フレームワークデザイナーにとっては、どの要件が「共通」であるかを選択することは難しく、主な目的は、あまりにも多くの特殊機能でフレームワークを混乱させないことです。幸いにも、Wicketは高度に(そして簡単に)カスタマイズ可能です。 – rotsch

+0

さて、 'CheckGroup'はこの共通の要件を満たすために作成されました。 – biziclop

関連する問題