elFinderがPHPで作成されている。
これを.NETで焼き直ししたOSSがGitHubにあった。
ソースをImportさせてもらう。
2018年1月30日火曜日
2018年1月18日木曜日
Telerik MVC grid 項目にリンクを追加
Telerik MVC Grid項目にリンクを追加
リンクする項目を以下のように編集
col.Template(@<text>
@Html.ActionLink(@item.BrunchCode.ToString(),
"Brunch"
,
"Statistics"
,
new
{ brunchid = @item.BrunchCode })
</text>)
.ClientTemplate(
"<a href='/brunch/statistics/brunchid=#= BrunchCode#'>#=BrunchCode#</a>"
)
.Title(
"Test"
);
上記のコードは <> が全角になっています。
元ネタ
https://www.telerik.com/forums/kendo-mvc-grid-actionlink-column
Telerik MVC Kendo Gridをdropdownの条件で表示を変更する
Telerik MVC Kendo Gridをdropdownの条件で表示を変更する
header部分にdrondownlistを配置する。
明細部分にgirdを配置する。
gridのdatasourceを以下の通りに配置
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(5)
.Read(read => read.Action("Apply_Read", "APP", new { iSelect = ViewBag.SelectSearch }))
.Model(model => model.Id(p => p.申請No))
)
ミソは、read.Action(アクション名, コントロール名, new {渡したいパラメータ})
これをコントロール側で受ける
public ActionResult Apply_Read([DataSourceRequest] DataSourceRequest request, string iSelect) {
return Json(Get申請一覧(iSelect).ToDataSourceResult(request));
}
private List<ApprovalViewModel> Get申請一覧(string iSelect) {
ココでレコードの取得
}
iSelectはViewBagで渡しているので、view側で
@(Html.Kendo().DropDownList()
.Name("Search")
.Events(ev => ev.Change("onSelect"))
.DataTextField("Text")
.DataValueField("Value")
.BindTo(new List<SelectListItem>() {
new SelectListItem() {
Text = "下書き/差戻し",
Value = "0"
},
new SelectListItem() {
Text = "申請済/承認中",
Value = "1"
},
new SelectListItem() {
Text = "承認済",
Value = "2"
},
new SelectListItem() {
Text = "すべて",
Value = "9"
}
})
.HtmlAttributes(new { style = "width: 150px;" })
.Value(ViewBag.SelectSearch)
)
header部分にdrondownlistを配置する。
明細部分にgirdを配置する。
gridのdatasourceを以下の通りに配置
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(5)
.Read(read => read.Action("Apply_Read", "APP", new { iSelect = ViewBag.SelectSearch }))
.Model(model => model.Id(p => p.申請No))
)
ミソは、read.Action(アクション名, コントロール名, new {渡したいパラメータ})
これをコントロール側で受ける
public ActionResult Apply_Read([DataSourceRequest] DataSourceRequest request, string iSelect) {
return Json(Get申請一覧(iSelect).ToDataSourceResult(request));
}
private List<ApprovalViewModel> Get申請一覧(string iSelect) {
ココでレコードの取得
}
iSelectはViewBagで渡しているので、view側で
@(Html.Kendo().DropDownList()
.Name("Search")
.Events(ev => ev.Change("onSelect"))
.DataTextField("Text")
.DataValueField("Value")
.BindTo(new List<SelectListItem>() {
new SelectListItem() {
Text = "下書き/差戻し",
Value = "0"
},
new SelectListItem() {
Text = "申請済/承認中",
Value = "1"
},
new SelectListItem() {
Text = "承認済",
Value = "2"
},
new SelectListItem() {
Text = "すべて",
Value = "9"
}
})
.HtmlAttributes(new { style = "width: 150px;" })
.Value(ViewBag.SelectSearch)
)
javascriptでeventを記述
//検索条件の処理
function onSelect(arg) { //検索が変更された場合、再表示を行う
var dataItem = this.dataItem(arg.item);
//alert("event :: select (" + dataItem.Text + " : " + dataItem.Value + ")");
var url = $("#BaseUrl").val() + dataItem.Value;
//alert("url= " + url);
location.href = url;
}
コントロール側でdropdownlistの値がurlのidとして受け取ったら
ViewBagにセットすれば、gridの表示側は制御できた。
get側
public ActionResult APPIndex(string id) {
ViewBag.SectionName = Session["SectionName"].ToString();
ViewBag.UserName = Session["UserName"].ToString();
if (id == null) {
ViewBag.SelectSearch = "0";
}
else {
ViewBag.SelectSearch = id;
}
return View();
}
2018年1月15日月曜日
telerik MVC Gridのページング方法は、戻り値を
ToDataSourceResult(request) でラップすることで実装する。
using Kendo.Mvc.Extensions;
using Kendo.Mvc.UI;
//申請一覧取得
public ActionResult Approval_Read([DataSourceRequest] DataSourceRequest request) {
return Json(Get申請一覧().ToDataSourceResult(request));
}
private IEnumerable<ApprovalViewModel> Get申請一覧() {
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["db"].ToString())) {
string sql = "select * from v申請H where 申請タイプ in (1, 2, 3, 4) and 申請者社員ID = @申請者社員ID order by ID desc";
conn.Open();
var recs = conn.Query<v申請H>(sql,
new {
申請者社員ID = Session["UserID"].ToString()
});
List<ApprovalViewModel> 申請ViewModels = new List<ApprovalViewModel>();
foreach (var rec in recs) {
ApprovalViewModel 申請ViewModel = new ApprovalViewModel() {
申請者社員姓 = rec.申請者社員姓,
状態 = rec.申請状態名,
申請書名 = rec.申請タイプ名称,
申請No = rec.ID,
決済No = rec.決済No,
件名 = rec.件名,
発注先 = rec.発注先名,
金額 = rec.金額
};
申請ViewModels.Add(申請ViewModel);
}
return 申請ViewModels;
}
}
ToDataSourceResult(request) でラップすることで実装する。
using Kendo.Mvc.Extensions;
using Kendo.Mvc.UI;
//申請一覧取得
public ActionResult Approval_Read([DataSourceRequest] DataSourceRequest request) {
return Json(Get申請一覧().ToDataSourceResult(request));
}
private IEnumerable<ApprovalViewModel> Get申請一覧() {
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["db"].ToString())) {
string sql = "select * from v申請H where 申請タイプ in (1, 2, 3, 4) and 申請者社員ID = @申請者社員ID order by ID desc";
conn.Open();
var recs = conn.Query<v申請H>(sql,
new {
申請者社員ID = Session["UserID"].ToString()
});
List<ApprovalViewModel> 申請ViewModels = new List<ApprovalViewModel>();
foreach (var rec in recs) {
ApprovalViewModel 申請ViewModel = new ApprovalViewModel() {
申請者社員姓 = rec.申請者社員姓,
状態 = rec.申請状態名,
申請書名 = rec.申請タイプ名称,
申請No = rec.ID,
決済No = rec.決済No,
件名 = rec.件名,
発注先 = rec.発注先名,
金額 = rec.金額
};
申請ViewModels.Add(申請ViewModel);
}
return 申請ViewModels;
}
}
2018年1月11日木曜日
kamodo2 タブレットを外部モニターにするソフト
http://komado.abt.jp/index.html
iPad2が余っているので、外部モニタを探していました。
HostがWindowsなので、XDisplayかなぁ~と思っていましたが
日本製の外部モニタソフトがありました。
komado2ですが、レスポンスも良く、iPadだけではなく
Androidも対応しているので、タブレットモニタとしては有効だと思います。
※ABT株式会社が八王子市でした、自分の実家も八王子市なので
応援したいです。
Dual Display, iPad, Android, Tablet
iPad2が余っているので、外部モニタを探していました。
HostがWindowsなので、XDisplayかなぁ~と思っていましたが
日本製の外部モニタソフトがありました。
komado2ですが、レスポンスも良く、iPadだけではなく
Androidも対応しているので、タブレットモニタとしては有効だと思います。
※ABT株式会社が八王子市でした、自分の実家も八王子市なので
応援したいです。
Dual Display, iPad, Android, Tablet
2018年1月10日水曜日
Telerik MVC upload Select filesの文字を変更
@(Html.Kendo().Upload()
.Name("files")
.Messages(m => m.Select("添付ファイル追加...."))
)
.Name("files")
.Messages(m => m.Select("添付ファイル追加...."))
)
元ネタ
2018年1月4日木曜日
Telerik MVC DropDownListのEventsに @Url.Content("~/SDL/Week/!") を含むと上手く動作しない
Telerik MVC DropDownListのEventsに @Url.Content("~/SDL/Week/!")
を含むと上手く動作しない
.Events(e => e.Change("onChange"))
<Script>
function onChange(e) {
var dataItem = this.dataItem(e.item);
//alert("event :: select (" + dataItem.Text + " : " + dataItem.Value + ")");
var url = $("#BaseUrl").val() + dataItem.Value;
//alert("url= " + url);
を含むと上手く動作しない
.Events(e => e.Change("onChange"))
<Script>
function onChange(e) {
var dataItem = this.dataItem(e.item);
//alert("event :: select (" + dataItem.Text + " : " + dataItem.Value + ")");
var url = $("#BaseUrl").val() + dataItem.Value;
//alert("url= " + url);
location.href = url;
}
</script>
<input type="hidden" id="BaseUrl" Value=@Url.Content("~/")>
JavaScript内に @Url.Contentが有るとNGになったので
hidden項目から値を取得するように変更した。
登録:
投稿 (Atom)