or
$(
function
() {
$(
"#DOB"
).kendoDatePicker({
"format"
:
"d"
,
"min"
:
new
Date(1900, 0, 1, 0, 0, 0, 0),
"max"
:
new
Date(2099, 11, 31, 0, 0, 0, 0)
});
});
.Events(events => events.Sync("onSync"))
.Events(events => events.Error("onDataSourceError"))
@model
object
@(Html.Kendo().DropDownList()
.HtmlAttributes(
new
{ style =
"width: 450px;"
})
.Name(
"ContactID"
)
.DataTextField(
"Text"
)
.DataValueField(
"Value"
)
.Filter(FilterType.Contains)
.OptionLabel(
"-please select-"
)
.ValuePrimitive(
true
)
.AutoBind(
false
)
.DataSource(source =>
{
source.Read(read =>
{
read.Action(
"MultiSearchProductors"
,
"Productors"
,
new
{ area =
"Comercial"
}).Data(
"filterSearchProductor"
);
})
.ServerFiltering(
true
);
})
)
public
async Task<JsonResult> MultiSearchProductors(
string
text)
{
var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());
var productors = ens.Contacts.OfType<Productor>().Where(p => user.AuthorizedCenters.Contains(p.CentreID.ToString()) && p.Baixa ==
null
).Select(p =>
new
{
Value = p.ContactID,
Text = p.Nom +
" "
+ p.Addresses.FirstOrDefault(a => a.TypeID == (
short
)addressType.General).Poblacio.Denominacio +
" - "
+ p.ContactID
});
if
(!String.IsNullOrWhiteSpace(text))
{
productors = productors.Where(p => p.Text.Contains(text));
}
return
Json(productors, JsonRequestBehavior.AllowGet);
}
function filterSearchProductor() {
return
{
text: $(
"#ContactID"
).data(
"kendoDropDownList"
).filterInput.val()
//allCenters: true
};
}
@(Html.Kendo().Grid<PartnerViewModel>()
.Name(
"partner_"
+contactID)
.ToolBar(t =>
{
if
(User.IsInRole(
"Modify"
))
{
t.Create().Text(
"Nou Partner"
);
}
})
.Columns(columns =>
{
columns.Bound(f => f.ContactID).Title(
"Codi"
).Width(60);
public
class
PartnerViewModel
{
[DisplayName(
"Productor"
)]
[UIHint(
"ProductorMultiSearch"
)]
public
int
ContactID {
get
;
set
; }
[Display(Name =
"In Service Date"
)]
[DataType(DataType.Date)]
[Required]
public
DateTime InServiceDate {
get
;
set
; }
columns.Bound(p => p.InServiceDate).Format("{0:MM/dd/yyyy}").Title("Date").Width(100);
model.Field(p => p.InServiceDate).DefaultValue(Model.DefaultInServiceDate);
function
filterTaxClassBookMethods() {
var
row = $(
"#TaxClassBookMethod"
).closest(
"tr"
);
var
grid = $(
"#TaxClassBookMethod"
).closest(
"[data-role=grid]"
).data(
"kendoGrid"
);
var
dataItem = grid.dataItem(row);
var
inServiceDate = dataItem.InServiceDate;
return
{ depreciationBookID: 1002, assetClassID: dataItem.AssetTransactionCode.AssetClassID, inServiceDate: inServiceDate };
}
@(Html.Kendo().Grid<
RateDayViewModel
>()
.Name("dayGrid")
.Columns(columns =>
{
columns.Bound(o => o.Date).Format("{0:d}");
})
.ClientDetailTemplateId("channelTemplate")
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(false)
.Model(model =>
{
model.Id(p => p.DayID);
})
.PageSize(10)
.Read(read => read.Action("ReadSummary", "Rate"))
)
.Pageable()
)
<
script
id
=
"channelTemplate"
type
=
"text/kendo-tmpl"
>
@(Html.Kendo().Grid<
RateChannelViewModel
>()
.Name("day_#=DayID#")
.Columns(columns =>
{
columns.Bound(o => o.Channel.Label).Title("Channel");
})
.ClientDetailTemplateId("roomTemplate")
.DataSource(dataSource => dataSource
.Ajax()
.Model(model =>
{
model.Id(p => p.ChannelID);
})
.Read(read => read.Action("ReadChannels", "Rate", new { Day = "#=DayID#" }))
)
.ToClientTemplate()
)
</
script
>
<
script
id
=
"roomTemplate"
type
=
"text/kendo-tmpl"
>
@(Html.Kendo().Grid<
RateRoomViewModel
>()
.Name("room_#=DayID##=ChannelID#")
.Columns(columns =>
{
columns.Bound(o => o.Room.Label).Title("Room");
})
.DataSource(dataSource => dataSource
.Ajax()
.Model(model =>
{
model.Id(p => p.RoomID);
})
.Read(read => read.Action("ReadRooms", "Rate", new { Day = "#=DayID#", Channel = "#=ChannelID#"}))
)
.ToClientTemplate()
)
</
script
>
function sendData() {
var grid = $("#Grid").data("kendoGrid"),
parameterMap = grid.dataSource.transport.parameterMap;
var data = parameterMap({ sort: grid.dataSource.sort(), filter: grid.dataSource.filter(), group: grid.dataSource.group() });
$.ajax({
url: "/Home/UpdateCreateDelete",
data: data,
type: "POST",
// note grid.autobind() set to false, so we can load upon dom ready below:
$(function() {
@{ var request = TempData["request"] as DataSourceRequest; }
var grid = $("#mygrid").data("kendoGrid");
grid.dataSource.query({
page: @request.Page, // WORKS PERFECTLY!
pagesize: @request.PageSize, // WORKS PERFECTLY!
filter: null, // FAILS IF I use filter: @request.Filter
sort: null, // FAILS IF I use sort: @request.Sort
group: null, // FAILS IF I use group: @request.Group
});
}