0

私の質問が正しいのか、私の計画が正しいのかわかりませんが、jquerydatatableプラグインを使用しており、変換された結果 datasourceから取得しています。JsonLINQ

私の問題は、結果セットに、Jquery DataTable(client)が必要としないdatatable(ado)の列の名前が含まれていることでした。

jsonに変換する前にLINQ結果に列名を含めないか、削除することは可能ですか?

これが私のサーバーコードです。

 context.Response.ContentType = "application/json";
 var y = from t in dt select t;
 ret = JsonConvert.SerializeObect(y, Formatting.None);

 context.Response.Write(ret);

上記のコードは、すべての列名を含む結果を返します。また、JSON.NETを使用しています

これが私のdtを設定する方法です

dsTableAdapters.dtTableAdapter adap = new dsTableAdapters.dtTableAdapter();
adap.Fill(ds.dt);

出力JSON:

[
[
    "COL1": 1,
    "COL2": "R1C2"
},
{
    "COL1: 2,
    "COL2": "R2C2"
},
{
    "COL1": 3,
    "COL2": "R3C3"
}
]

jqueryDatatableプラグインに基づく必要な出力は次のとおりです。

[
[
    1,
    "R1C2"
],
[
    2,
    "R2C2"
],
[
    3,
    "R3C3"
]
]
4

1 に答える 1

0
var y = (from t in dt.AsEnumerable() 
         select new { COL1= t.Field<string>("FirstName"), 
                      COL2 = t.Field<string>("LastName") }).ToList();

dtがDataTableであり、その中にFirstNameとLastNameという2つの列があり、それらだけを出力するとします。

これは機能します。テスト済み。

http://msdn.microsoft.com/en-us/library/system.data.datatableextensions.asenumerable.aspx

DataTableのAsEnumerable拡張メソッドは、DataRowsのコレクションを返します。次に、必須フィールドを使用してLinq結果から予測を行います。dataRowタイプであるため、各列タイプを指定する必要があります。

于 2012-05-04T00:44:01.763 に答える