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";

最初の例では「メール」フィールドを表示する必要はなく、2 番目の例では電話フィールドは必要ありません。実際のコンテンツにはおそらく多くの行が含まれているため、ページングを有効にして jtable にバインドする必要があります。

私のコントローラー メソッドでは、ファイルの内容を文字列配列として、配列項目ごとにコンマで区切られたフィールドを持つ 1 行を持っています。そこからどこへ行くのかが問題です。

助けてくれてありがとう、キャリー

実際、Expando オブジェクトを使用して動的オブジェクトのリストを作成することで、最初の問題を解決しました。. . 問題は、投稿から返された結果に jtable をバインドする必要があるように見えることです。私が今持っているjsonオブジェクトはすでに返されているので、それを取得するために投稿する必要はありません. では、問題は、jtable にポストを行わせずに json の結果を 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 に答える