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.
Dinamik DataTable
-
- Prime
- Posts: 18616
- Joined: 05 Jan 2009, 00:21
- Location: Cybertron
- Contact:
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.
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.
-
- Prime
- Posts: 18616
- Joined: 05 Jan 2009, 00:21
- Location: Cybertron
- Contact:
Kodu eklerseniz, yardimci olabiliriz.
-
- Prime
- Posts: 18616
- Joined: 05 Jan 2009, 00:21
- Location: Cybertron
- Contact:
LazyLoading, filter ve sort desteklemiyor su an.
-
- Prime
- Posts: 18616
- Joined: 05 Jan 2009, 00:21
- Location: Cybertron
- Contact:
Evet bu ozelligi planliyoruz.
-
- Information
-
Who is online
Users browsing this forum: No registered users and 37 guests