Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 无法获取数据绑定,请单击“排序”以正常工作_Sorting_Knockout.js - Fatal编程技术网

Sorting 无法获取数据绑定,请单击“排序”以正常工作

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

我试图在我的网络表单中对数据进行排序;我所能做的就是按照asc或desc对整个数据集进行排序,尽管每个列都绑定了数据

下面是我的Index.cshtml文件代码;请尽可能协助-我知道这一定与我如何绑定数据然后重新显示数据有关

@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">&laquo;</span>
                                    </a>
                                </li>
                                <li data-bind="css: { disabled: NextPageDisabled() }">
                                    <a href="#" aria-label="Next" data-bind="click: NextPageClick">
                                        <span aria-hidden="true">&raquo;</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的部分;它只有三个字段