美好的一天,
我想将MySQL数据库绑定到DevExtreme的组件dx-select-box。 有某种方式使用AngularJS方法。 然后,我需要过滤国家,州和城市:
$scope.selectBoxProvinceOptions = {
dataSource: serviceFilter,
placeholder: 'Select a province',
displayExpr: 'name',
valueExpr: 'state',
bindingOptions: {
value: 'state'
}
};
app.get('/filter', function (req, res) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Credentials", true);
res.header("Access-Control-Allow-Headers",
"Origin, X-Requested-With, Content-Type, Accept");
res.header('Access-Control-Allow-Methods', 'POST, \n\
GET, PUT, DELETE, OPTIONS');
connection.query(
" SELECT CI.country, CI.state, CI.city " +
" FROM cities CI "
, function (err, rows) {
if (!err) {
console.log("Database is connected... \n");
console.log('The solution is: ', rows);
} else {
console.log("Error connecting database... \n");
console.log('Error while performing Query.');
}
res.end(JSON.stringify(rows));
});
});
我可以用这种方式将结果推送到选择框吗?
有人知道该怎么做。
感谢您的帮助。
答案 0 :(得分:0)
DevExtreme是客户端技术,因此您可以轻松地将其与MySQL或其他数据库集成,而无需任何特殊的JavaScript代码。
例如,如果您使用MySQL + PHP,您的后端代码可能如下所示:
mvn sonar:sonar -pl !../abc_ear
现在,在客户端,您可以使用// my-data-service.php
$db = new PDO('mysql:host=localhost;dbname=test','user','password');
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
$result = $sth->fetchAll();
echo json_encode($result);
网址加载数据:
my-data-service.php
接下来,将var dataSource = new DevExpress.data.DataSource("/my-data-service.php");
实例绑定到dataSource
或另一个devextreme-widget。