この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。
建築家
建築家
リスト
放送
茶屋
インテリジェントAI会話
.NETキャリア&テクニカルカレッジ
ちっちゃいなクズブログ
この版
利用者
Architect_Programmer_Code農業ネットワーク
»
建築家
›
プログラミング
›
.Net/C#
›
DataTableのすべてのフィールド名を中国語に翻訳し、...
眺める:
20385
|
答える:
0
[出典]
DataTableのすべてのフィールド名を中国語に翻訳し、返す
[リンクをコピー]
クズども
掲載地 2015/10/29 13:50:20
|
|
|
|
元のデータ:
翻訳データ:
一般的に、クエリしたDataTableを特定のコントロールのDataSourceとして使っていれば、コード内でDataTableをクエリして表示するのは簡単です。ただし、このDataTableのフィールドはすべて英語のフィールドです。どうやってすべて中国語に変えるのでしょうか?
今では各英語フィールドの中国語名を知っており、すべての翻訳情報はCOLUMNTRANSLATIONというテーブルに保存されています。このテーブルを作成するSQL文は以下の通りです。
テーブルCOLUMNTRANSLATIONを作成
(
ID番号(10) 主キー、
列名 VARCHAR2(50), //フィールド名
翻訳 VARCHAR2(50) // 中国語名に対応するフィールド
)
まずいくつかのデータを入力し、例えばStudentNameは「student name」に対応します。
すべてのフィールド名が英語で書かれたDataTableができたので、以下のコードを実行するだけで翻訳して返すことができます。
/// <summary>
/// 将DataTable的字段名全部翻译为中文
/// </summary>
/// <param name="table">待翻译的DataTable</param>
/// <returns></returns>
public DataTable TranslateDataTable(DataTable table)
{
DataTable dt = new DataTable();
dt.TableName = "TempTable";
if (table != null && table.Rows.Count > 0)
{
//先为dt构造列信息
foreach (DataColumn column in table.Columns)
{
string name = GetColumnName(column.ColumnName);
dt.Columns.Add(name);
}
for (int i = 0; i < table.Rows.Count; i++)
{
DataRow NewRow = dt.NewRow();
DataRow row = table.Rows[i];
for (int j = 0; j < dt.Columns.Count; j++)
{
NewRow[j] = row[j].ToString();
}
dt.Rows.Add(NewRow);
}
}
return dt;
}
/// <summary>
/// 得到列名称的别名
/// </summary>
/// <param name="columnName"></param>
/// <returns></returns>
private string GetColumnName(string columnName)
{
string sqlString = " Select TRANSLATION from COLUMNTRANSLATION where COLUMNNAME = '" + columnName.ToUpper() + "'";
object s = dao.ExecuteScalar(sqlString);
string name = (s == null) ? columnName : s.ToString(); //如果此英文字段有翻译,则返回其中文翻译,若无,则保留此英文翻译。
return name;
}
コードをコピーします
この手法の考え方は、翻訳対象のDataTableに従って新しいDataTableを構築することです。すなわち、新しいDataTableの各列の列名は翻訳済みの中国語名(英語の列名が翻訳されない場合は英語の列名を保持し、翻訳可能なら翻訳されます)。新しいDataTableのフィールド情報を構築した後、古いDataTableのレコードを一つずつ新しいDataTableに挿入します。
へへ、曲がり角だ... しかし、スピードはまだ可能です。
先の:
EasyUI datagrid tables はフィールドの列を動的にバインドします
次に:
Visual Studio 2013のブラウザリンク機能をオフにしてください
関連記事
•
VS 2022パッケージ管理コンソール 中国語の乱雑なソリューション
•
jQuery(JS)は中国語入力方式が完全かどうかを判定します
•
C# 中国語の漢字は簡体字と繁体字の間で変換されます
•
Spring Bootはバックグラウンドでjsonを返す問題を解決しますが、返すための変換器は見つかりません...
•
春のブーツ中国語の文字が乱れる問題を解決する
•
GitBookは「中国語」文字列を検出できません
•
redis chineseの問題は正しく表示できません
•
Java開発ツールIntelliJ IDEA 2018中国語パッケージダウンロード
•
PHP json_encode中国語は疑問符を引く
•
.NET Coreコンソールの中国語文字の乱れ文字
閲覧したセクション
フロントエンドフレーム
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。
Mail To:help@itsvse.com