2

こんにちは、linq 式からソースを取得するグリッドを使用しています。

たとえば、linq は次のとおりです。

var data = from row in tempCity.AsEnumerable()
           group row by row.Field<string>("City") into city
           select new
           {
              City = city.Key, 
              Count = city.Count()
           };

グリッドの datasource に「データ」を割り当てた後、必要な結果が得られます。アプリケーションを多言語対応にしようとしたときに問題が発生し、Grid の City および Count ヘッダーを別の言語に翻訳する方法が見つかりません。

私は次のことを試みました: 1.都市の代わりに、「都市」という用語の代わりに linq 式内に GetLocalResource("City") を記述しますが、機能しませんでした。

2. グリッドのプロパティをプログラムで変更します。ただし、linq 式はアクションごとに異なるため、必要なクライアントによって異なります。aspx ページに事前に作成された列がないため、グリッドに到達できません。 0.

3. linq のすべてのデータを DataTable 内に配置します。これが機能することはわかっていますが、それを行うのは適切ではありません。少しぎこちなく、よりクリーンなソリューションが必要です。

前もって感謝します。

4

1 に答える 1

0

解決策1があなたのお気に入りになると思います。しかし、LINQ クエリは SQL クエリに変換され、もちろん GetLocalResource のような SQL メソッドはありません。

データベースには都市コードのみが保存されており、文化に依存する名前はリソースにあるようです。次のことを試してみます。既存の LINQ ステートメントを使用してデータを取得します。ビュー内で都市をローカライズされた文字列に変換します。

<asp:Literal Text='<%# GetLocalResource(Eval("City"))' runat="server" />
于 2012-04-30T12:01:42.307 に答える