文章分類/

Infragistics|Ultimate UI for Windows Forms|我想使用 Shift JIS 位元組數來設定 UltraGrid 儲存格中的字元數。

163 瀏覽人次
2023-11-05 更新

infragistics log

【概述】 我想根據 Shift JIS 中的位元組長度來設定 UltraGrid 儲存格中輸入字元數的上限。

[適用元件] 超網格 【適用版本】 所有版本 [文章類型] 常問問題 【細節】

NetAdvantage 沒有內建功能來限製位元組長度的字元數。對於UltraGrid,可以透過處理CellChange事件、轉換字串並在字串變更時編輯位元組長度來實現類似的處理。

(C# 範例)

        ///          /// バイト数判定に用いるShiftJis用Encoding         ///          public Encoding ShiftJisEncoding         {             get             {                 return Encoding.GetEncoding("shift-jis");             }         }           private void ultraGrid1_CellChange(object sender, CellEventArgs e)         {             //Text列のときのみ処理を行います             if (e.Cell.Column.Key == "Text")             {                 //バイト長                 int length = (int)e.Cell.Row.Cells["Length"].Value;                   //ShiftJisでのバイト配列を取得します                 byte[] bs = ShiftJisEncoding.GetBytes(e.Cell.Text);                                 //指定の長さよりもバイト長が長い場合                 if (bs.Length > length)                 {                     //最後の文字が漢字の上位バイトであれば、無視します                     byte last = bs[length - 1];                     if ((last >= 0x81 && last <= 0x9f) || (last >= 0xe0 && last <= 0xfc))                     {                         length -= 1;                     }                                         e.Cell.Value = ShiftJisEncoding.GetString(bs, 0, length);                     //カーソルの位置が最後にくるように調整します                     e.Cell.SelStart = e.Cell.Text.Length;                                     }             }                     } 

快速跳轉目錄

✦ 群昱 AccessSoft 你的全面軟體解決方案 ✦

身為全球眾多知名軟體在台灣合作夥伴,歡迎諮詢你需要的軟體服務!

Picture of 軟體專家
軟體專家

群昱作為全球知名軟體推薦合作夥伴,致力於提供更多軟體解決方案給你!

更多軟體新知

立即詢價

請留下完整資訊,以便我們提供精確的服務內容給你。

詢價資訊