2017-01-06 18 views
0

p:dataTableの1行を削除しようとしています。p:p:commandButtonを2回クリックした後にダイアログが表示される

  • の最初のクリックでは、削除ボタンが表示されません。
  • の削除ボタンをもう一度クリックすると、ダイアログが表示され、処理が成功します。

豆は次のとおりです。

@Component() 
 
@Scope("request") 
 
public class ListTrainings 
 
{ 
 
\t @Autowired 
 
\t public ListTrainings(@Qualifier("applicationManager") ApplicationManager appMgr) 
 
\t { 
 
\t this.appMgr= appMgr; 
 
\t lfs = new ArrayList<Formation>(); 
 
\t tm = new TrainingModel(); 
 
\t formation = new Formation(); 
 
\t } 
 
\t \t 
 
\t @PostConstruct 
 
\t public void Initialize() 
 
\t { 
 
\t System.out.println("Hello World"); 
 
\t } 
 

 
\t public void selectedRow() 
 
\t { 
 
\t status1 = false; 
 
\t status2 = false; 
 
\t tm = (TrainingModel) listDatas.getRowData(); 
 
\t formation = appMgr.listTrainingsByRef(tm.getId()).get(0); 
 
\t vb.setFormation(formation); \t \t 
 
\t if(
 
        (appMgr.listTrainersByRefTraining(formation.getFormationId()).size() == 0) 
 
        && 
 
        (formation.getSalleEspace() == null) 
 
      ) 
 
\t  { status1 = true; } 
 
\t  else 
 
\t  { status2 = true; } 
 
\t } 
 
}

XHTMLのボタンがある:

<p:commandButton id="btn" 
 
    \t \t value="3" 
 
    \t \t oncomplete="if(#{listTrainings.status1}) {PF('dlg1').show();} 
 
    \t \t    if(#{listTrainings.status2}) {PF('dlg3').show();}" 
 
    \t \t update="aw"> 
 
     <f:ajax render="btn" execute="@all" listener="#{listTrainings.selectedRow}" /> 
 
</p:commandButton>

何か間違いを教えてください。

答えて

0
<p:commandButton value="Basic" type="button" onclick="PF('dlg1').show();" /> 

ときのpによってウィジェット名を持つボタンアクションクリック使用:コード以下のようなウィジェットname.Addダイアログによってonclickのメソッド呼び出しのdialog.Thisボタン。

<p:dialog header="Basic Dialog" widgetVar="dlg1" minHeight="40"> 
<h:outputText value="Resistance to PrimeFaces is futile!" /> 

+0

@hsntpnこんにちは、お返事に感謝多くのことを私は私の質問に言及した(場合... ..場合)などのonclickの上の私は、条件を使用したいと思います。 – Liliya

関連する問題