/// <summary>
        /// 绑定下拉列表控件为指定的数据字典列表
        /// </summary>
        /// <param name="combo">下拉列表控件</param>
        /// <param name="itemList">数据字典列表</param>
        /// <param name="defaultValue">控件默认值</param>
        public static void BindDictItems(this CustomGridLookUpEdit combo, List <CListItem> itemList, string defaultValue)
        {
            string       displayName = "显示内容";
            const string valueName   = "值内容";
            const string pinyin      = "拼音码";
            DataTable    dt          = DataTableHelper.CreateTable(string.Format("{0},{1},{2}", displayName, valueName, pinyin));

            foreach (CListItem item in itemList)
            {
                DataRow row = dt.NewRow();
                row[displayName] = item.Text;
                row[valueName]   = item.Value;
                row[pinyin]      = Pinyin.GetFirstPY(item.Text);
                dt.Rows.Add(row);
            }

            combo.Properties.ValueMember   = valueName;
            combo.Properties.DisplayMember = displayName;
            combo.Properties.DataSource    = dt;
            combo.Properties.PopulateViewColumns();
            combo.Properties.View.Columns[valueName].Visible = false;

            if (!string.IsNullOrEmpty(defaultValue))
            {
                combo.Text = defaultValue;
            }

            if (!string.IsNullOrEmpty(defaultValue))
            {
                combo.EditValue = defaultValue;
            }
        }
        /// <summary>
        /// 绑定下拉列表控件为指定的数据字典列表
        /// </summary>
        /// <param name="combo">下拉列表控件</param>
        /// <param name="dictTypeName">数据字典类型名称</param>
        /// <param name="defaultValue">控件默认值</param>
        public static void BindDictItems(this CustomGridLookUpEdit combo, string dictTypeName, string defaultValue)
        {
            string       displayName = dictTypeName;
            const string valueName   = "值内容";
            const string pinyin      = "拼音码";
            DataTable    dt          = DataTableHelper.CreateTable(string.Format("{0},{1},{2}", displayName, valueName, pinyin));

            Dictionary <string, string> dict = BLLFactory <DictData> .Instance.GetDictByDictType(dictTypeName);

            foreach (string key in dict.Keys)
            {
                DataRow row = dt.NewRow();
                row[displayName] = key;
                row[valueName]   = dict[key];
                row[pinyin]      = Pinyin.GetFirstPY(key);
                dt.Rows.Add(row);
            }

            combo.Properties.ValueMember   = valueName;
            combo.Properties.DisplayMember = displayName;
            combo.Properties.DataSource    = dt;
            combo.Properties.PopulateViewColumns();
            combo.Properties.View.Columns[valueName].Visible = false;
            combo.Properties.View.Columns[displayName].Width = 400;
            combo.Properties.View.Columns[pinyin].Width      = 200;
            combo.Properties.PopupFormMinSize = new System.Drawing.Size(600, 0);

            if (!string.IsNullOrEmpty(defaultValue))
            {
                combo.EditValue = defaultValue;
            }
        }
Beispiel #3
0
        private void btnPinyinUtil_Click(object sender, EventArgs e)
        {
            string[] maxims = new string[] {
                "事常与人违,事总在人为",
                "骏马是跑出来的,强兵是打出来的",
                "驾驭命运的舵是奋斗。不抱有一丝幻想,不放弃一点机会,不停止一日努力。 ",
                "如果惧怕前面跌宕的山岩,生命就永远只能是死水一潭",
                "懦弱的人只会裹足不前,莽撞的人只能引为烧身,只有真正勇敢的人才能所向披靡"
            };

            string[] medicines = new string[] {
                "聚维酮碘溶液",
                "开塞露",
                "炉甘石洗剂",
                "苯扎氯铵贴",
                "鱼石脂软膏",
                "莫匹罗星软膏",
                "红霉素软膏",
                "氢化可的松软膏",
                "曲安奈德软膏",
                "丁苯羟酸乳膏",
                "双氯芬酸二乙胺乳膏",
                "冻疮膏",
                "克霉唑软膏",
                "特比奈芬软膏",
                "酞丁安软膏",
                "咪康唑软膏、栓剂",
                "甲硝唑栓",
                "复方莪术油栓",
                "右桥小脑角岩斜区肿瘤"
            };

            StringBuilder sb = new StringBuilder("UTF8句子拼音:");

            foreach (string s in maxims)
            {
                sb.AppendFormat("汉字:{0}\n拼音:{1}\n简码:{2} \r\n", s, Pinyin.GetPinyin(s), Pinyin.GetFirstPY(s));
            }

            Encoding gb2312 = Encoding.GetEncoding("GB2312");

            sb.AppendFormat("GB2312拼音简码:");
            foreach (string m in medicines)
            {
                string s = Pinyin.ConvertEncoding(m, Encoding.UTF8, gb2312);
                sb.AppendFormat("药品:{0}\n简码:{1}\n", s, Pinyin.GetFirstPY(s, gb2312));
            }

            string testWord = "右桥小脑角岩斜区肿瘤,聚维酮碘溶液,酞丁安软膏";
            //中文拼音(首字母大写,空格分开)
            string letters = PinYinUtil.CHSToPinyin(testWord, " ", true);

            sb.AppendLine(testWord);
            sb.AppendLine("中文拼音:" + letters);
            sb.AppendLine("首字母:" + PinYinUtil.GetFirstPY(testWord));

            MessageDxUtil.ShowTips(sb.ToString());
        }