使用 bootstrap 切换 Awesome MVC Grid
Using bootstrap toggle with Awesome MVC Grid
我正在尝试合并 bootstrap toggle into a column of my AwesomeMVC Grid (http://demo.aspnetawesome.com/GridDemo),但即使在初始化 bootstrap 切换之后,切换也无法正确呈现。这是因为 AwesomeMVC 网格在页面加载后呈现。
我不想在初始化 bootstrap 切换时实现超时,因为网格加载时间可能不同。
有没有人尝试过使用 AwesomeMVC 实现任何类似的 bootstrap 插件?
这是我的代码示例。
查看
@(Html.Awe().Grid("UserList")
.Url(Url.Action("GetUser", "User"))
.Persistence(Persistence.Local)
.Selectable(SelectionType.None)
.Parent("pagesize", "pagesize")
.Columns(
new Column { Name = "Name", Header = "FullName", Width = 72, SortRank = 1, Sort = Sort.Asc },
new Column { Name = "Active", Header = "Active", Width = 60, ClientFormatFunc = "CustomActive", Group = true}
))
Javascript
//Custom content for Active ClientFormatFunc
var CustomActive = function (GetUserList_Result) {
return "<input type=\"checkbox\" class=\"checkbox-toggle\" data-toggle=\"toggle\" data-on=\"Yes\" data-off=\"No\" data-size=\"small\">";
}
$(function () {
$(".checkbox-toggle").bootstrapToggle();
});
有一个可以连接的 aweload
事件,当你渲染复选框时我认为你需要设置它的选中状态,所以你应该得到这样的结果:
@(Html.Awe().Grid("UserList")
.Url(Url.Action("GetUser", "User"))
.Persistence(Persistence.Local)
.Parent("pagesize", "pagesize")
.Columns(
new Column { Name = "Name", Header = "FullName"},
new Column { ClientFormatFunc = "CustomActive", Width = 75}))
<script type="text/javascript">
$(function () {
$('#UserList').on('aweload', function () {
$(this).find(".checkbox-toggle").bootstrapToggle();
});
});
//Custom content for Active ClientFormatFunc
var CustomActive = function (model) {
var checked = model.Active ? 'checked = "checked"' : '';
return '<input type="checkbox" ' + checked + ' class="checkbox-toggle" data-toggle="toggle" data-on="Yes" data-off="No" data-size="small">';
};
<script>
我也删除了 .Selectable(SelectionType.None)
因为默认情况下它是这样的,而且我看到你按布尔列分组(活动)不确定这是否有意义,它只会将你的网格分成 2组,Column.Name 不是必需的,它用于绑定到 sorting/grouping 的模型,并且最好始终至少有 1 列没有宽度(如果您将宽度设置为所有列并且网格宽度没有'匹配它们以百分比形式工作)
我正在尝试合并 bootstrap toggle into a column of my AwesomeMVC Grid (http://demo.aspnetawesome.com/GridDemo),但即使在初始化 bootstrap 切换之后,切换也无法正确呈现。这是因为 AwesomeMVC 网格在页面加载后呈现。
我不想在初始化 bootstrap 切换时实现超时,因为网格加载时间可能不同。
有没有人尝试过使用 AwesomeMVC 实现任何类似的 bootstrap 插件?
这是我的代码示例。
查看
@(Html.Awe().Grid("UserList")
.Url(Url.Action("GetUser", "User"))
.Persistence(Persistence.Local)
.Selectable(SelectionType.None)
.Parent("pagesize", "pagesize")
.Columns(
new Column { Name = "Name", Header = "FullName", Width = 72, SortRank = 1, Sort = Sort.Asc },
new Column { Name = "Active", Header = "Active", Width = 60, ClientFormatFunc = "CustomActive", Group = true}
))
Javascript
//Custom content for Active ClientFormatFunc
var CustomActive = function (GetUserList_Result) {
return "<input type=\"checkbox\" class=\"checkbox-toggle\" data-toggle=\"toggle\" data-on=\"Yes\" data-off=\"No\" data-size=\"small\">";
}
$(function () {
$(".checkbox-toggle").bootstrapToggle();
});
有一个可以连接的 aweload
事件,当你渲染复选框时我认为你需要设置它的选中状态,所以你应该得到这样的结果:
@(Html.Awe().Grid("UserList")
.Url(Url.Action("GetUser", "User"))
.Persistence(Persistence.Local)
.Parent("pagesize", "pagesize")
.Columns(
new Column { Name = "Name", Header = "FullName"},
new Column { ClientFormatFunc = "CustomActive", Width = 75}))
<script type="text/javascript">
$(function () {
$('#UserList').on('aweload', function () {
$(this).find(".checkbox-toggle").bootstrapToggle();
});
});
//Custom content for Active ClientFormatFunc
var CustomActive = function (model) {
var checked = model.Active ? 'checked = "checked"' : '';
return '<input type="checkbox" ' + checked + ' class="checkbox-toggle" data-toggle="toggle" data-on="Yes" data-off="No" data-size="small">';
};
<script>
我也删除了 .Selectable(SelectionType.None)
因为默认情况下它是这样的,而且我看到你按布尔列分组(活动)不确定这是否有意义,它只会将你的网格分成 2组,Column.Name 不是必需的,它用于绑定到 sorting/grouping 的模型,并且最好始终至少有 1 列没有宽度(如果您将宽度设置为所有列并且网格宽度没有'匹配它们以百分比形式工作)