0

我正在使用 ASP.NET MVC 3,并且想知道如何将文件的内容作为数组返回到视图中的 jtable。数组的每一行都包含一个逗号分隔的列表。(文件的内容来自 .csv 文件或 excel 电子表格)

第一列包含字段标题,文件中字段标题的数量可能会有所不同,所以我猜你可以说 jtable 的内容是动态的?

我已经用明确命名的字段编写了 jtables,但那时我才知道需要多少字段。在这种情况下,它可能是 1 到 11 个字段,并且由于字段名称位于数组的第一行,我不太确定如何设置 jtable 以将它们识别为 jtable 的列标题。

对于初学者,这里有几个我希望绑定到表的数组示例。

array[0] = "phone,first,last";
array[1] = "1111111111,firstname,lastname";

或者

array[0] = "first,last,email";
array[1] = "firstname,lastname,emailaddress@email.com";

对于第一个示例,我不需要显示“电子邮件”字段,而对于第二个示例,我不需要电话字段。实际内容可能包含很多行,这就是为什么我想将它绑定到启用分页的 jtable。

在我的控制器方法中,我将文件的内容作为一个字符串数组,每个数组项有一行以逗号分隔的字段。我从那里去哪里是个问题。

谢谢你的帮助,嘉莉

实际上,我已经通过使用 Expando 对象来创建动态对象列表解决了我的第一个问题。. . 现在的问题是 jtable 似乎需要绑定到从帖子返回的结果。我现在得到的 json 对象已经返回了,所以我不需要发帖来获取它。那么,现在的问题是,是否可以将 json 结果绑定到 jtable 而无需让 jtable 发布帖子?

再次,谢谢。

4

1 回答 1

0

处理类似的问题;我正在返回 json 并且需要绑定到 jtable。这是我的 ajax 调用中的代码。我发现的唯一 jtable 方法是 addRecord。

希望这会有所帮助,我会在改进并使其功能齐全时进行编辑。是的,我知道我应该只包含格式正确的答案,但由于您没有任何帮助,我们可以从这个开始,让它成为一项正在进行的工作。

if (data.Result == "OK") {
                    for (var i = 0; i < data.Records.length; i++) {
                        $("#SearchResultsAddContact").jtable('addRecord', {
                            record: {
                                FirstName: data.Records[i].FirstName,
                                LastName: data.Records[i].LastName,
                                NumGroups: data.Records[i].NumGroups,
                                NumPhones: data.Records[i].NumPhones,
                                NumTexts: data.Records[i].NumTexts,
                                NumTags: data.Records[i].NumTags,
                                NumTDDs: data.Records[i].NumTDDs,
                                NumEmails: data.Records[i].NumEmails
                            }
                        });
                    }
                    $("#SearchResultsAddContact").jtable('load');

确保按如下方式编辑 jquery.jtable.js 文件:(第 1297-1308 行)

    addRecord: function (options) {
        var self = this;
        options = $.extend({
            **clientOnly: true,**
            animationsEnabled: self.options.animationsEnabled,
            url: self.options.actions.createAction,
            success: function () { },
            error: function () { }
        }, options);

将 clientOnly: 更改为 true

于 2012-11-01T18:07:08.807 回答