Hyper-vでPHP開発環境を作成
WindowsでXAMP環境でPHP開発環境を作成していたが
本番のHostOSがUnix系なので、ファイル名の大文字小文字で動作しない現象が多発しました。
やっぱり、Hyper-vでUnix系OSにPHPファイルを置いて、開発しないといけないので
FreeBSD+ZFS+Sambaで構築しようと思う
GUI要らないし
2015年3月31日火曜日
2015年3月27日金曜日
kendo ui datasource sort
var dataSource = new kendo.data.DataSource({
transport: {
read: { url: "./data/repairdata.php", type: "GET", datatype: "json" }
},
batch: false,
schema: {
data: 'data',
total: 'total'
},
pageSize: 10,
sort: {
field: "ReceiveDate", dir:"desc"
},
});
transport: {
read: { url: "./data/repairdata.php", type: "GET", datatype: "json" }
},
batch: false,
schema: {
data: 'data',
total: 'total'
},
pageSize: 10,
sort: {
field: "ReceiveDate", dir:"desc"
},
});
2015年3月26日木曜日
kendo ui use template + datasource + PHP datasourceresult
kendo ui と kendo のtemplate機能 データをphpのdatasourceresultから取得する
sample sourceから実行するが、ことごとくNG
理由: PHPのdatasourceresultのjsonにtotalがあるから
従って、datasourceのschemaにdataを設定する必要がある
<div id="details"></div>
<script type="text/x-kendo-template" id="template">
<h3 style='text'>修理詳細</h3>
<table>
<tr>
<td>
</td>
<tr>
</table>
#= RepairNo #
</script>
<script>
var template = kendo.template($("#template").html());
var dataSource = new kendo.data.DataSource({
transport: {
read: { url: "./data/RepairdataDetail.php?id=" + vId, type:"GET", datatype: "json" }
},
batch: false,
schema: {
data: 'data' }
});
dataSource.bind("change", function () {
$("#details").html(kendo.render(template, dataSource.data()));
});
dataSource.read();
});
</script>
オレンジ色した部分がミソ
1.datasourceのschemaにdataを指定すること
2.datasourdceのデータをbindするには、viewではなく、dataだった
sample sourceから実行するが、ことごとくNG
理由: PHPのdatasourceresultのjsonにtotalがあるから
従って、datasourceのschemaにdataを設定する必要がある
<div id="details"></div>
<script type="text/x-kendo-template" id="template">
<h3 style='text'>修理詳細</h3>
<table>
<tr>
<td>
</td>
<tr>
</table>
#= RepairNo #
</script>
<script>
var template = kendo.template($("#template").html());
var dataSource = new kendo.data.DataSource({
transport: {
read: { url: "./data/RepairdataDetail.php?id=" + vId, type:"GET", datatype: "json" }
},
batch: false,
schema: {
data: 'data' }
});
dataSource.bind("change", function () {
$("#details").html(kendo.render(template, dataSource.data()));
});
dataSource.read();
});
</script>
オレンジ色した部分がミソ
1.datasourceのschemaにdataを指定すること
2.datasourdceのデータをbindするには、viewではなく、dataだった
2015年3月23日月曜日
Teleirk kendo grid select item
$("#grid").kendoGrid({ dataSource: { type: "odata", transport: { read: "http://demos.kendoui.com/service/Northwind.svc/Orders" }, pageSize: 10, serverPaging: true }, height: 250, pageable: true, selectable: "row multiple", columns: [ "OrderID", "Freight", "ShipName", "ShipCity" ], change: function() { var text = ""; var grid = this; grid.select().each(function() { var dataItem = grid.dataItem($(this)); text += "OrderID: " + dataItem.OrderID + "\n"; }); alert(text); } });
kendo ui grid column 非表示
kendo ui grid column 非表示
<div id="grid"></div>
<script>
$("#grid").kendoGrid({
columns: [
{ hidden: true, field: "id" },
{ field: "name" }
],
dataSource: [ { id: 1, name: "Jane Doe" }, { id: 2, name: "John Doe" } ]
});
</script>
telerik kendo ui set a theme
telerik kendo ui のテーマを設定する方法
初期値
<link rel="stylesheet" href="./styles/kendo.silver.min.css" />
defaultの箇所をsilverに変更する
初期値
<html>
<head>
<link rel="stylesheet" href="[file path]/kendo.common.min.css" />
<link rel="stylesheet" href="[file path]/kendo.default.min.css" />
</head>
これをシルバーのテーマに変更する場合は
<link rel="stylesheet" href="./styles/kendo.common.min.css" /><link rel="stylesheet" href="./styles/kendo.silver.min.css" />
defaultの箇所をsilverに変更する
2015年3月20日金曜日
kendo wapper PHP DataSourceResultの接続文字列設定
kendo wapper PHP DataSourceResultの接続文字列設定
DataSourceResultのソースを見るとデータベースに接続する方法が
PDOになっている。
従って、PDOと同じ文字列を設定すればOK
$result = new DataSourceResult(
DataSourceResultのソースを見るとデータベースに接続する方法が
PDOになっている。
従って、PDOと同じ文字列を設定すればOK
$result = new DataSourceResult(
'mysql:host=yourhost;dbname=yourdb;charset=utf8'
, 'user', 'password');
Kendo UI Wapper PHP DatasourceResult read and filter
PHP source
$result = new DataSourceResult(DB_STRING, DB_USER, DB_PASSWORD);
$columns = array('RepairNo','ReceiveNo','Status','UnitName','SubUnitName','SerialNo',
'EstimateRequestDate','EstimateAnswerDate','ReceiveDate','ShipDate',
'Transporter','TransportNo','RepairAmount','AcceptDate','CustomerCd','AccountCd');
//セッションの顧客CDを条件とする
$result->field = 'CustomerCd';
$result->operator = 'eq';
$result->value = $_SESSION['customercd'];
// $result->value = '010010';
$result->filter = $result;
$result = $result->read('repairdata', $columns, $result);
header('Content-Type: application/json');
echo json_encode($result, JSON_NUMERIC_CHECK);
DataSourceResultのクラスにfilterメソッドが有り
そのfilterメソッドに値を設定することで、SQL のwhere句が生成されるようです。
$result = new DataSourceResult(DB_STRING, DB_USER, DB_PASSWORD);
$columns = array('RepairNo','ReceiveNo','Status','UnitName','SubUnitName','SerialNo',
'EstimateRequestDate','EstimateAnswerDate','ReceiveDate','ShipDate',
'Transporter','TransportNo','RepairAmount','AcceptDate','CustomerCd','AccountCd');
//セッションの顧客CDを条件とする
$result->field = 'CustomerCd';
$result->operator = 'eq';
$result->value = $_SESSION['customercd'];
// $result->value = '010010';
$result->filter = $result;
$result = $result->read('repairdata', $columns, $result);
header('Content-Type: application/json');
echo json_encode($result, JSON_NUMERIC_CHECK);
DataSourceResultのクラスにfilterメソッドが有り
そのfilterメソッドに値を設定することで、SQL のwhere句が生成されるようです。
2015年3月12日木曜日
WPFのWindow表示でTelerikのComboBOXが表示されない
現象
WPFのWindow表示でTelerikのComboBOXが表示されない
原因
XAMLのmerginが原因らしい
対応
stackpanelを追加して、comboboxのmerginはすべて0にした
WPFのWindow表示でTelerikのComboBOXが表示されない
原因
XAMLのmerginが原因らしい
対応
stackpanelを追加して、comboboxのmerginはすべて0にした
2015年3月9日月曜日
C# オブジェクトのメンバ情報とメンバの値を動的に取得する
WPFのTelerik GridViewがclassからデータ表示になっている
データがMVVM方式でclassからデータを流し込むので
Cellの位置は取得出来ないらしい GetIndexとかの関数が無かった
仕方ないので、Telerik.Windows.Controls.GridViewCellInfo s = GridView1.SelectedCells[0];
上記より、選択した行のデータを取得後
var c = s.Column; でカラム情報を取得
var item = (ATR_ScheduleView)s.Item;
g作業者ID = GetItem(item, typeof(ATR_ScheduleView), c.Header);
private string GetItem(object targetobj, Type t, string iName) {
string vValue = "";
//using System.Reflection;が必要
//メンバを取得する
MemberInfo[] members = t.GetMembers(
BindingFlags.Public |
BindingFlags.Instance |
BindingFlags.DeclaredOnly);
foreach (MemberInfo m in members) {
//メンバの型と、名前を表示する
//メンバの型がプロパティなら
if (m.MemberType.ToString().Equals("Property") && m.Name == iName) {
PropertyInfo pr = t.GetProperty(m.Name);
object resobj = pr.GetValue(targetobj, null);
vValue = resobj.ToString();
}
}
return vValue;
}
取得した行データ(item)のヘッダ位置から選択したcellの値を取得
データがMVVM方式でclassからデータを流し込むので
Cellの位置は取得出来ないらしい GetIndexとかの関数が無かった
仕方ないので、Telerik.Windows.Controls.GridViewCellInfo s = GridView1.SelectedCells[0];
上記より、選択した行のデータを取得後
var c = s.Column; でカラム情報を取得
var item = (ATR_ScheduleView)s.Item;
g作業者ID = GetItem(item, typeof(ATR_ScheduleView), c.Header);
private string GetItem(object targetobj, Type t, string iName) {
string vValue = "";
//using System.Reflection;が必要
//メンバを取得する
MemberInfo[] members = t.GetMembers(
BindingFlags.Public |
BindingFlags.Instance |
BindingFlags.DeclaredOnly);
foreach (MemberInfo m in members) {
//メンバの型と、名前を表示する
//メンバの型がプロパティなら
if (m.MemberType.ToString().Equals("Property") && m.Name == iName) {
PropertyInfo pr = t.GetProperty(m.Name);
object resobj = pr.GetValue(targetobj, null);
vValue = resobj.ToString();
}
}
return vValue;
}
取得した行データ(item)のヘッダ位置から選択したcellの値を取得
登録:
投稿 (Atom)