Sorting 无法获取数据绑定,请单击“排序”以正常工作
我试图在我的网络表单中对数据进行排序;我所能做的就是按照asc或desc对整个数据集进行排序,尽管每个列都绑定了数据 下面是我的Index.cshtml文件代码;请尽可能协助-我知道这一定与我如何绑定数据然后重新显示数据有关Sorting 无法获取数据绑定,请单击“排序”以正常工作,sorting,knockout.js,Sorting,Knockout.js,我试图在我的网络表单中对数据进行排序;我所能做的就是按照asc或desc对整个数据集进行排序,尽管每个列都绑定了数据 下面是我的Index.cshtml文件代码;请尽可能协助-我知道这一定与我如何绑定数据然后重新显示数据有关 @using System.Web.Optimization @model Nutricity.WMS.Web.Api.Inventory.Models.ParLevelMaintenanceViewModel @{ ViewBag.Title = "Par Lev
@using System.Web.Optimization
@model Nutricity.WMS.Web.Api.Inventory.Models.ParLevelMaintenanceViewModel
@{
ViewBag.Title = "Par Level Maintenance";
}
<h2>Par Level Maintenance</h2>
<style type="text/css">
.title-row {
background-color: lightgrey;
}
</style>
<div class="row">
<div class="col-md-12">
<div class="tabpanel">
<ul class="nav nav-tabs" role="tablist" data-bind="foreach: MovementBuckets">
<li role="presentation"><a href="#suppliers" role="tab" data-toggle="tab" data-bind="text: Name, attr: { href: '#' + Name().replace(/\s+/g, '') }"></a></li>
</ul>
</div>
<div class="tab-content">
<!-- ko foreach: MovementBuckets -->
<div role="tabpanel" class="tab-pane" data-bind="attr: { id: Name().replace(/\s+/g, '') }">
<div class="row" style="padding: 5px 0px 5px 0px;">
<div class="col-md-12">
<form class="form-inline">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search" data-bind="value: SearchData.SearchQuery" />
</div>
<button class="btn btn-default" data-bind="click: Search">Search</button>
</form>
</div>
</div>
<table class="table table-bordered table-condensed" style="margin-bottom: 2px;" data-bind="visible: SearchResult.ParLevels().length > 0">
<thead>
<tr>
<th colspan="8">
<a href="#" data-bind="click: Sort">SKU </a><i class="fa fa-sort-asc" data-bind=" visible: SearchData.SortColumn() == 'SKU' && SearchData.SortOrder() == 'ASC'"></i><i class="fa fa-sort-desc" data-bind=" visible: SearchData.SortColumn() == 'SKU' && SearchData.SortOrder() == 'DESC'"></i>
</th>
<th colspan="1">
Status
</th>
</tr>
<tr>
<th><a href="#" data-bind="click: Sort">30 Day Units Sold </a><i class="fa fa-sort-asc pull-right" data-bind=" visible: SearchData.SortColumn() == 'Units30Days' && SearchData.SortOrder() == 'ASC'"></i><i class="fa fa-sort-desc pull-right" data-bind=" visible: SearchData.SortColumn() == 'Units30Days' && SearchData.SortOrder() == 'DESC'"></th>
<th><a href="#" data-bind="click: Sort">Avg Daily Units Sold </a><i class="fa fa-sort-asc pull-right" data-bind=" visible: SearchData.SortColumn() == 'AvgDailyUnits' && SearchData.SortOrder() == 'ASC'"></i><i class="fa fa-sort-desc pull-right" data-bind=" visible: SearchData.SortColumn() == 'AvgDailyUnits' && SearchData.SortOrder() == 'DESC'"></th>
<th><a href="#" data-bind="click: Sort">Amazon Units </a><i class="fa fa-sort-asc pull-right" data-bind=" visible: SearchData.SortColumn() == 'AmazonUnits' && SearchData.SortOrder() == 'ASC'"></i><i class="fa fa-sort-desc pull-right" data-bind=" visible: SearchData.SortColumn() == 'AmazonUnits' && SearchData.SortOrder() == 'DESC'"></th>
<th><a href="#" data-bind="click: Sort">HealthDx Units </a><i class="fa fa-sort-asc pull-right" data-bind=" visible: SearchData.SortColumn() == 'HealthDxUnits' && SearchData.SortOrder() == 'ASC'"></i><i class="fa fa-sort-desc pull-right" data-bind=" visible: SearchData.SortColumn() == 'CompanyUnits' && SearchData.SortOrder() == 'DESC'"></th>
<th><a href="#" data-bind="click: Sort">Total Units </a><i class="fa fa-sort-asc pull-right" data-bind=" visible: SearchData.SortColumn() == 'TotalUnits' && SearchData.SortOrder() == 'ASC'"></i><i class="fa fa-sort-desc pull-right" data-bind=" visible: SearchData.SortColumn() == 'TotalUnits' && SearchData.SortOrder() == 'DESC'"></th>
<th><a href="#" data-bind="click: Sort">Days On Hand </a><i class="fa fa-sort-asc pull-right" data-bind=" visible: SearchData.SortColumn() == 'DaysOnHand' && SearchData.SortOrder() == 'ASC'"></i><i class="fa fa-sort-desc pull-right" data-bind=" visible: SearchData.SortColumn() == 'DaysOnHand' && SearchData.SortOrder() == 'DESC'"></th>
<th>Auto Par Levels</th>
<th>Par Override</th>
<th>Par Level</th>
</tr>
</thead>
<tbody data-bind="foreach: SearchResult.ParLevels">
<tr>
<td data-bind="text: SKU() + ' - ' + Title() " colspan="8" class="title-row"></td>
<td class="title-row" colspan="1">
<span data-bind="text: Status" style="text-align: right;" class="text-danger"></span>
</td>
</tr>
<tr>
<td data-bind="text: Units30Days"></td>
<td data-bind="text: AvgDailyUnits().toFixed(2)"></td>
<td data-bind="text: AmazonUnits"></td>
<td data-bind="text: CompanyUnits"></td>
<td data-bind="text: TotalUnits"></td>
<td data-bind="text: DaysOnHand().toFixed(2)"></td>
<td>
<input type="checkbox" data-bind="checked: AutoParLevels, disable: true" /></td>
<td>
<input type="checkbox" data-bind="checked: OverrideId() > 0, click: toggleParOverride, enable: $root.UserHasOwnerRole" /></td>
<td>
<input type="text" style="width: 50px;" data-bind="value: ParLevel, enable: isEditing() && !isSaving()" />
<button class="btn btn-primary" data-bind="visible: canEdit() && $root.UserHasOwnerRole(), click: editParLevel">Edit</button>
<button class="btn btn-primary" data-bind="visible: isEditing, click: saveParLevel">Save</button>
<button class="btn btn-danger" data-bind="visible: isEditing, click: cancelEditParLevel">Cancel</button>
</td>
</tr>
</tbody>
</table>
<div data-bind="visible: !(SearchResult.ParLevels().length > 0)">
<p class="text-info" style="padding-top: 10px;">The search query returned no results.</p>
</div>
<div class="row" data-bind="visible: SearchResult.TotalPages() > 0">
<div class="col-md-2">
<form>
<div class="form-group" style="margin-top: 5px;">
<select class="form-control" data-bind="value: SearchData.PageSize, event: { change: Search }">
<option>10</option>
<option>20</option>
<option>50</option>
<option>100</option>
</select>
</div>
</form>
</div>
<div class="col-md-8" style="margin-top: 5px;">
<p class="text-info" style="text-align: center;" data-bind="text: PageLabel"></p>
</div>
<div class="col-md-2">
<nav class="pull-right">
<ul class="pagination" style="margin-top: 5px;">
<li data-bind="css: { disabled: PreviousPageDisabled() }">
<a href="#" aria-label="Previous" data-bind="click: PreviousPageClick">
<span aria-hidden="true">«</span>
</a>
</li>
<li data-bind="css: { disabled: NextPageDisabled() }">
<a href="#" aria-label="Next" data-bind="click: NextPageClick">
<span aria-hidden="true">»</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<!-- /ko -->
</div>
</div>
</div>
<!-- Reports -->
<div class="row">
<div class="col-md-12">
<h4>Reports</h4>
<a href="@Url.Content("~/ReportViewer.aspx?ReportPath=/NutricityReports/Par Levels - HealthDx")" target="_blank">Par Levels Report</a>
</div>
</div>
@Scripts.Render("~/Scripts/knockout")
@Scripts.Render("~/Scripts/models")
<script type="text/javascript">
$(function () {
var model = new ParLevelMaintenanceVM(@Html.Raw(@Json.Encode(Model)));
ko.applyBindings(model);
$('.nav-tabs a:first').tab('show');
});
</script>
@使用System.Web.Optimization
@模型Nutricy.WMS.Web.Api.Inventory.Models.ParlevelMaintenance视图模型
@{
ViewBag.Title=“Par级别维护”;
}
标准维护
.标题行{
背景颜色:浅灰色;
}
搜寻
地位
自动水准仪水准仪
票面覆盖
票面水平
编辑
拯救
取消
搜索查询未返回任何结果
10
20
50
100
-
-
报告
@Scripts.Render(“~/Scripts/knockout”)
@Scripts.Render(“~/Scripts/models”)
$(函数(){
var model=new ParLevelMaintenanceVM(@Html.Raw(@Json.Encode(model));
ko.应用绑定(模型);
$('.nav制表符a:first').tab('show');
});
每个TH都必须单击:排序,但每个TH的当前“项”是您的ViewModel。您需要添加一个参数来指示排序依据的列,例如
<th><a href="#" data-bind="click: Sort('SKU')">...
。。。
所以我只在thead部分中找到了它,但没有找到任何数据;我应该在车身部分也使用它吗?模型有这个参数。。。公共类MovementBucketSearchQuery{public int MovementBucketId{get;set;}public int PageSize{get;set;}public int PageNumber{get;set;}公共字符串搜索查询{get;set;}公共字符串排序器{get set;}这个项目不是我自己做的。。。我找到了一个使用SortColumn的部分;它只有三个字段