In diesem Kapitel werden wir Datensätze aus einer Datenbank auflisten.
Die Beispiele auf dieser Seite eine lokale SQL-Datenbank verwenden.
Lokale SQL-Datenbanken funktioniert nicht in IE oder Firefox. Verwenden Sie Chrome oder Safari.
Erstellen Sie ein neues Modell
Im vorigen Kapitel haben Sie ein Modell, eine Datenbank zu erstellen.
Jetzt ein neues Modell erstellen, einschließlich Filter und Sortier Definitionen:
model_customerslist.js
{
"rowsperpage" : 10,
"database" : {
"connection" : "localmysql",
"sql" : "SELECT
* FROM Customers",
"orderby" : "CustomerName"
},
"filteritems" : [
{"item" : "CustomerName", "label" : "Customer"},
{"item" : "City"},
{"item" : "Country"}
],
"sortitems" : [
{"item" : "CustomerName", "label" : "Customer"},
{"item" : "City"},
{"item" : "Country"}
]
}
Verwenden Sie das Modell in der Anwendung:
Beispiel
<div appml-data=" local?model=model_customerslist ">
<h1>Customers</h1>
<div appml-include-html="inc_listcommands.htm"></div>
<table class="table table-striped
table-bordered">
<tr>
<th>Customer</th>
<th>City</th>
<th>Country</th>
</tr>
<tr appml-repeat="records">
<td>{{CustomerName}}</td>
<td>{{City}} </td>
<td>{{Country}} </td>
</tr>
</table>
</div>
Versuch es selber " Erstellen Sie eine HTML-Filter-Vorlage
Erstellen Sie den HTML-Code für Ihre Filter:
inc_filter.htm
<div id="appml_filtercontainer" class="jumbotron"
style="display:none;">
<button id="appmlbtn_queryClose" type="button"
class="close"><span>×</span></button>
<h2>Filter</h2>
<div
id="appml_filter">
<div appml-repeat="filteritems">
<div class="row">
<div class="col-sm-3">
<label>{{label||item}}:</label>
</div>
<div
class="col-sm-2">
<input id="appml_datatype_{{item}}" type='hidden'>
<select id="appml_operator_{{item}}" class="form-control">
<option
value="0">=</option>
<option value="1"><></option>
<option
value="2"><</option>
<option value="3">></option>
<option
value="4"><=</option>
<option value="5">>=</option>
<option
value="6">%</option>
</select>
</div>
<div class="col-sm-7">
<input id="appml_query_{{item}}" class="form-control">
</div>
</div>
</div>
</div>
<div id="appml_orderby">
<h2>Order By</h2>
<div
class="row">
<div class="col-sm-5">
<select id='appml_orderselect'
class="form-control">
<option value=''></option>
<option
appml-repeat="sortitems" value="{{item}}">{{label || item}}</option>
</select>
</div>
<div class="col-sm-7">
ASC <input type='radio'
id="appml_orderdirection_asc"
name='appml_orderdirection' value='asc'>
DESC <input type='radio' id="appml_orderdirection_desc"
name='appml_orderdirection' value='desc'>
</div>
</div>
</div>
<br>
<button id="appmlbtn_queryOK" type="button" class="btn
btn-primary">OK</button>
</div>
Speichern Sie die Filter HTML in einer Datei mit einem Eigennamen wie "inc_filter.htm" .
Fügen Sie die Filter HTML in Ihrem Prototyp mit appml-include-html:
Beispiel
<div appml-data="local?model=model_customerslist">
<h1>Customers</h1>
<div appml-include-html="inc_listcommands.htm"></div>
<div appml-include-html="inc_filter.htm" ></div>
<table
class="table table-striped table-bordered">
<tr>
<th>Customer</th>
<th>City</th>
<th>Country</th>
</tr>
<tr appml-repeat="records">
<td>{{CustomerName}}</td>
<td>{{City}} </td>
<td>{{Country}} </td>
</tr>
</table>
</div>
Versuch es selber "