Dinamik DataTable

UI Components for JSF
rixrix
Posts: 13
Joined: 10 Jul 2009, 11:12

01 Apr 2010, 12:03

Primefaces ile dinamik datatable oluşturdum.

xhtml kodu

<p:dataTable binding="#{yuvamGrid.tablo}"
value= "#{yuvamGrid.cars}"
var= "row" paginator="true" rows="10" dynamic="false"
paginatorTemplate="{PreviousPageLink} {CurrentPageReport} {NextPageLink} {RowsPerPageDropdown} " rowsPerPageTemplate="10,15,20">

java kodu

import java.util.ArrayList;
import java.util.List;
import javax.el.ValueExpression;
import javax.faces.application.Application;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.component.UIOutput;
import javax.faces.component.html.HtmlOutputText;
import javax.faces.context.FacesContext;
import javax.faces.el.ValueBinding;
import org.primefaces.component.column.Column;
import org.primefaces.component.datatable.DataTable;

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author gokhan
*/
@ManagedBean(name = "yuvamGrid")
@RequestScoped
public class YuvamGrid {
DataTable tablo=new DataTable();
private List<Car> cars;

public YuvamGrid() {
cars = new ArrayList<Car>();

for(int i = 0 ; i < 50 ; i++)
cars.add(new Car("SSSS_" + i, 2000+i, "Brand_" + i, "Color_" + i));
}
public List<Car> getCars() {
return cars;
}

public DataTable getTablo() {
Column col;
HtmlOutputText out = null;
HtmlOutputText outH=null;
Application app = FacesContext.getCurrentInstance().getApplication();
outH =new HtmlOutputText();
out = new HtmlOutputText();
col = new Column();
outH.setValue("Model");
col.setHeader(outH);
ValueBinding vb = app.createValueBinding("#{row.model}");
col.setFilterBy(vb);
out.setValueBinding("value", vb);
col.getChildren().add(out);
tablo.getChildren().add(col);
return tablo;

}
}


sayfanın kaynak kodu

<script type="text/javascript">PrimeFaces.onContentReady('j_idt27', function() {
var j_idt27_widget_columnDef = [{key:'rowIndex', hidden:true},{key:'null',label:'Model'}];
var j_idt27_widget_datasource = new YAHOO.util.DataSource(YAHOO.util.Dom.get('j_idt27_table'));
j_idt27_widget_datasource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
j_idt27_widget_datasource.responseSchema = {fields:[{key:'rowIndex'},{key:'null'}]};
j_idt27_widget = new PrimeFaces.widget.DataTable('j_idt27',j_idt27_widget_columnDef,j_idt27_widget_datasource, {dynamicData:false,paginator:new YAHOO.widget.Paginator({
rowsPerPage:10,totalRecords:50,initialPage:1,template:'{PreviousPageLink} {CurrentPageReport} {NextPageLink} {RowsPerPageDropdown} ',rowsPerPageOptions : [10,15,20]})
});
});
</script><div id="j_idt27"><div id="j_idt27_container"><table id="j_idt27_table" style="display:none"><tbody><tr><td>0</td><td>SSSS_0</td></tr><tr><td>1</td><td>SSSS_1</td></tr><tr><td>2</td><td>SSSS_2</td></tr><tr><td>3</td><td>SSSS_3</td></tr><tr><td>4</td><td>SSSS_4</td></tr><tr><td>5</td><td>SSSS_5</td></tr><tr><td>6</td><td>SSSS_6</td></tr><tr><td>7</td><td>SSSS_7</td></tr><tr><td>8</td><td>SSSS_8</td></tr><tr><td>9</td><td>SSSS_9</td></tr><tr><td>10</td><td>SSSS_10</td></tr><tr><td>11</td><td>SSSS_11</td></tr><tr><td>12</td><td>SSSS_12</td></tr><tr><td>13</td><td>SSSS_13</td></tr><tr><td>14</td><td>SSSS_14</td></tr><tr><td>15</td><td>SSSS_15</td></tr><tr><td>16</td><td>SSSS_16</td></tr><tr><td>17</td><td>SSSS_17</td></tr><tr><td>18</td><td>SSSS_18</td></tr><tr><td>19</td><td>SSSS_19</td></tr><tr><td>20</td><td>SSSS_20</td></tr><tr><td>21</td><td>SSSS_21</td></tr><tr><td>22</td><td>SSSS_22</td></tr><tr><td>23</td><td>SSSS_23</td></tr><tr><td>24</td><td>SSSS_24</td></tr><tr><td>25</td><td>SSSS_25</td></tr><tr><td>26</td><td>SSSS_26</td></tr><tr><td>27</td><td>SSSS_27</td></tr><tr><td>28</td><td>SSSS_28</td></tr><tr><td>29</td><td>SSSS_29</td></tr><tr><td>30</td><td>SSSS_30</td></tr><tr><td>31</td><td>SSSS_31</td></tr><tr><td>32</td><td>SSSS_32</td></tr><tr><td>33</td><td>SSSS_33</td></tr><tr><td>34</td><td>SSSS_34</td></tr><tr><td>35</td><td>SSSS_35</td></tr><tr><td>36</td><td>SSSS_36</td></tr><tr><td>37</td><td>SSSS_37</td></tr><tr><td>38</td><td>SSSS_38</td></tr><tr><td>39</td><td>SSSS_39</td></tr><tr><td>40</td><td>SSSS_40</td></tr><tr><td>41</td><td>SSSS_41</td></tr><tr><td>42</td><td>SSSS_42</td></tr><tr><td>43</td><td>SSSS_43</td></tr><tr><td>44</td><td>SSSS_44</td></tr><tr><td>45</td><td>SSSS_45</td></tr><tr><td>46</td><td>SSSS_46</td></tr><tr><td>47</td><td>SSSS_47</td></tr><tr><td>48</td><td>SSSS_48</td></tr><tr><td>49</td><td>SSSS_49</td></tr></tbody></table></div><input type="hidden" id="j_idt27_currentPage" name="j_idt27_currentPage" value="1" /></div>

ama sayfada tablo gözükmüyor.
xhml içine başka bir datatable koyduğumda sayfada görebiliyorum fakat filitreleme yapamıyorum.

Bu kounda yardım ederseniz sevinirim.

rixrix
Posts: 13
Joined: 10 Jul 2009, 11:12

01 Apr 2010, 17:00

versiyon güncellemesi yaptıktan sonra bu sorunun ortaya çıktığını düşünüyorum.
Daha önceden çalışan Menu dede aynı sıkıntıyı yaşıyorum.
Şuan elimdeki jar primefaces-2.0.0.jar

rixrix
Posts: 13
Joined: 10 Jul 2009, 11:12

02 Apr 2010, 09:56

Netbeans 6.8 ve Glassfish 3.0 kullanıyorum.
Konsolda bu çıktıyı alıyorum. Bu sorunu nasıl düzeltebilirim.

INFO: p:resources component is deprecated and has no use in PrimeFaces 2.0 as JSF 2.0 resource apis are used instead to place resources on page.

cagatay.civici
Prime
Posts: 18616
Joined: 05 Jan 2009, 00:21
Location: Cybertron
Contact:

05 Apr 2010, 13:35

p:resources yerine h:head kullanmalisiniz.

http://www.primefaces.org/gettingStarted.html

rixrix
Posts: 13
Joined: 10 Jul 2009, 11:12

21 Apr 2010, 12:25

Yukarıdaki sorunları çözdüm fakat başka bir sorunum var.

Datable dinamik olarak oluşuyor fakat şeçtiğim satırdaki obje null geliyor. Bununda sorunu tespit ettim. Benim KullanıcıTanımları sınıfım BaseBean den extend oluyor. Benim tablo kullandığım tablo BaseBean içinde. KullanıcıTanımları içine eklersem degerleri okuya biliyorum.

Bu konuda yardımcı olabilirmisiniz.

cagatay.civici
Prime
Posts: 18616
Joined: 05 Jan 2009, 00:21
Location: Cybertron
Contact:

24 Apr 2010, 01:06

Kodu eklerseniz, yardimci olabiliriz.

rixrix
Posts: 13
Joined: 10 Jul 2009, 11:12

12 May 2010, 15:37

Lazy Loading data modelin de ajax filter eklemek istiyorum. Bu konuda bir önek verebilirmisniz.

cagatay.civici
Prime
Posts: 18616
Joined: 05 Jan 2009, 00:21
Location: Cybertron
Contact:

12 May 2010, 17:24

LazyLoading, filter ve sort desteklemiyor su an.

rixrix
Posts: 13
Joined: 10 Jul 2009, 11:12

13 May 2010, 08:35

Bu konuda çalışmalarınızı bekliyoruz. Teşekkürler.

cagatay.civici
Prime
Posts: 18616
Joined: 05 Jan 2009, 00:21
Location: Cybertron
Contact:

13 May 2010, 09:32

Evet bu ozelligi planliyoruz.

Post Reply

Return to “PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 37 guests