繁体   English   中英

GroupBy Knockout.js

[英]GroupBy Knockout.js

我在C#中使用这个Razor代码并尝试在Knockout中执行相同的操作

 @foreach (var group in Model.Details.SonstigeNummern.OeReferenznummern.GroupBy(x => x.Hersteller))
                {
                    <tr class="ListItem @oddeven">
                        <td>@group.Key</td>
                        <td>
                            @foreach (var nummer in group)
                            { 
                                @nummer.Nummer<br />
                            }
                        </td>
                    </tr>
                }

我不知道如何管理GroupBy。

我的Viewmodel与我的c#模型具有相同的语法

有人可以帮忙吗?

诚恳

我不确定linq查询。 但我认为你应该这样做。 如您所见,我只是将所有数据转换为数组,然后转换为JSON字符串。 在这个客户端,我将它们重新转换为javascript对象。

<table data-bind="foreach: groups">
     <tr class="ListItem @oddeven" >
        <td data-bind="value: Key"></td>
        <td data-bind="foreach: Nummers">
            <span data-bind="text: $data"></span>
        </td>
    </tr>
 </table>



<script type="text/javascript">
    var data= JSON.parse('@Html.Raw(Json.Encode(Model.Details.SonstigeNummern.OeReferenznummern.GroupBy(x => x.Hersteller).Select( g => new {Key = g.Key, Nummers =  g.ToArray()}).ToArray()))');
    var vm = { groups: data};
    ko.applyBindings(vm);
</script>

我希望它有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM