0

クライアントで jqgrid を生成するために Lib.Web.Mvc (バージョン 6.1.0) を使用しています。

JqG​​ridColumnModel のほとんどの属性は正常に機能しますが、CellAttributesはここでは効果がありません。

これは私のコードです:


configuration.Settings.ColumnsModels.AddRange(new JqGridColumnModel[]
{
new JqGridColumnModel("ProductID") { Index = "ProductID" },
new JqGridColumnModel("ProductName") {  Index = "ProductName" },
new JqGridColumnModel("SupplierID") {  Index = "SupplierID" },
new JqGridColumnModel("CategoryID") {  Index = "CategoryID" },
new JqGridColumnModel("QuantityPerUnit") {  Index = "QuantityPerUnit"},

new JqGridColumnModel("UnitPrice") { Index = "UnitPrice", CellAttributes *="value=1"} });


CellAttributes が lastes バージョン 6.1.0 でまだ機能しないかどうかわかりませんか? というか使い方がわからない。

サーバー側(コントローラー)からセルに属性を追加するアイデアを教えてください。

4

1 に答える 1

0

はのプロパティJqGridColumnModel.CellAttributesへのプロキシです。このプロパティは、属性を含む文字列を返す JavaScript 関数を受け取ります。以下に、 jqGrid ドキュメントから対応する部分を見つけることができます。cellattrcolModel

この関数は、データの作成中に、つまり動的にセルに属性を追加します。たとえば、テーブル セルのすべての有効な属性を使用することも、さまざまなプロパティを持つスタイル属性を使用することもできます。関数は文字列を返す必要があります。...

そしてLib.Web.Mvcのドキュメントから:

データの作成中に (動的に) セルに属性を追加できる関数を取得または設定します。

したがって、あなたの場合、コードは次のようになります。

configuration.Settings.ColumnsModels.AddRange(new JqGridColumnModel[]
{
    new JqGridColumnModel("ProductID") { Index = "ProductID" },
    new JqGridColumnModel("ProductName") {  Index = "ProductName" },
    new JqGridColumnModel("SupplierID") {  Index = "SupplierID" },
    new JqGridColumnModel("CategoryID") {  Index = "CategoryID" },
    new JqGridColumnModel("QuantityPerUnit") {  Index = "QuantityPerUnit" },
    new JqGridColumnModel("UnitPrice") { Index = "UnitPrice", CellAttributes = "function() { return 'value=1'; }" }
});

アップデート

構成のインポートおよびエクスポート機能という特殊なケースが 1 つあります。この場合、JavaScript 関数、イベント、およびコールバックのすべての設定は、JSON にシリアル化できないため無視されます (これは設計によるものです)。

于 2013-01-02T10:43:07.177 に答える