Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 20385|Jawab: 0

[Sumber] Terjemahkan semua nama bidang DataTable ke dalam bahasa Cina dan kembalikan

[Salin tautan]
Diposting pada 29/10/2015 13.50.20 | | | |
Data asli:

Data terjemahan:



Umumnya, mudah untuk mengkueri dan menampilkan DataTable dalam kode, selama DataTable yang dikueri digunakan sebagai DataSource dari kontrol tertentu, tidak apa-apa, tetapi bidang DataTable ini semuanya adalah bidang bahasa Inggris, bagaimana cara mengubah semuanya menjadi bahasa Cina?



Sekarang saya tahu nama bahasa Cina dari setiap bidang bahasa Inggris, dan semua informasi terjemahan bidang disimpan dalam tabel, yang disebut COLUMNTRANSLATION, dan pernyataan SQL untuk membuat tabel ini adalah:

buat tabel COLUMNTERJEMAHAN

(
    NOMOR ID(10) KUNCI UTAMA,
    NAMA KOLOM VARCHAR2(50), //nama bidang
    TERJEMAHAN VARCHAR2(50) // yang sesuai dengan nama Cina
)



Masukkan beberapa data di dalamnya terlebih dahulu, sehingga ada beberapa catatan dalam tabel ini, misalnya: StudentName sesuai dengan "nama siswa".



Sekarang saya memiliki DataTable dengan semua nama bidangnya dalam bahasa Inggris, saya dapat menerjemahkannya dan mengembalikan DataTable yang diterjemahkan hanya dengan mengeksekusi kode berikut:

  1. /// <summary>
  2.         /// 将DataTable的字段名全部翻译为中文
  3.         /// </summary>
  4.         /// <param name="table">待翻译的DataTable</param>
  5.         /// <returns></returns>
  6.         public DataTable TranslateDataTable(DataTable table)
  7.         {
  8.             DataTable dt = new DataTable();
  9.             dt.TableName = "TempTable";

  10.             if (table != null && table.Rows.Count > 0)
  11.             {
  12.                 //先为dt构造列信息
  13.                 foreach (DataColumn column in table.Columns)
  14.                 {
  15.                     string name = GetColumnName(column.ColumnName);
  16.                     dt.Columns.Add(name);
  17.                 }

  18.                 for (int i = 0; i < table.Rows.Count; i++)
  19.                 {
  20.                     DataRow NewRow = dt.NewRow();
  21.                     DataRow row = table.Rows[i];

  22.                     for (int j = 0; j < dt.Columns.Count; j++)
  23.                     {
  24.                         NewRow[j] = row[j].ToString();
  25.                     }

  26.                     dt.Rows.Add(NewRow);
  27.                 }
  28.             }
  29.             return dt;
  30.         }

  31.         /// <summary>
  32.         /// 得到列名称的别名
  33.         /// </summary>
  34.         /// <param name="columnName"></param>
  35.         /// <returns></returns>
  36.         private string GetColumnName(string columnName)
  37.         {
  38.             string sqlString = " Select TRANSLATION from COLUMNTRANSLATION where COLUMNNAME = '" + columnName.ToUpper() + "'";

  39.             object s = dao.ExecuteScalar(sqlString);
  40.             string name = (s == null) ? columnName : s.ToString(); //如果此英文字段有翻译,则返回其中文翻译,若无,则保留此英文翻译。
  41.             return name;
  42.         }
Salin kode
Ide dari metode ini adalah untuk membuat DataTable baru sesuai dengan DataTable yang akan diterjemahkan: nama kolom dari setiap kolom DataTable baru adalah nama Cina yang diterjemahkan (jika nama kolom bahasa Inggris tidak diterjemahkan, nama kolom bahasa Inggris dipertahankan, jika dapat diterjemahkan, itu diterjemahkan), dan setelah membangun informasi bidang DataTable baru, catatan DataTable lama dimasukkan ke dalam DataTable baru satu per satu.



Hehe, giliran ... Tapi kecepatan masih mungkin.







Mantan:Tabel datagrid EasyUI secara dinamis mengikat kolom bidang
Depan:Menonaktifkan fitur Tautan Browser di Visual Studio 2013
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com