GradeView中,数字转换成中文显示

来源:互联网 发布:软件学校哪个好 编辑:程序博客网 时间:2024/06/07 05:01

对于GradeView中,存在类似0不存在1表示存在,页面显示中文字的实现:
一、在表格中
                <asp:TemplateField  HeaderText="抄表标志">
                    <ItemTemplate><%# GetShowText(Eval("CurState"), "{0:未抄表,1:已抄表,NULL:空值}")%></ItemTemplate>
                </asp:TemplateField>
注:{0:未抄表,1:已抄表,NULL:空值}中不要出现单引号,双引号等杂符。0则显示“未抄表”,1则显示“已抄表”,如果为空值""则显示“空值”

{0:未抄表,1:已抄表}则空值显示“”

二、在cs中,当然系统中要放在页面基类中了,这样每个页面都可以用到了

/// <summary>
        /// <asp:TemplateField  HeaderText="抄表标志">
        ///     <ItemTemplate><%# GetShowText(Eval("CurState"), "{0:未抄表,1:已抄表,NULL:空值}")%></ItemTemplate>
        /// </asp:TemplateField>
        /// {0:未抄表,1:已抄表}中如果是空则用NULL.注意不用些单引号把值引起来。
        /// 如果CurState是"",则显示"空值"。
        /// </summary>
        /// <param name="idobj">列值""或1或0</param>
        /// <param name="valList">列对应的显示值"{0:未抄表,1:已抄表,NULL:空值}"</param>
        /// <returns></returns>
        public string GetShowText(object idobj, string valList)
        {
            string reStr = "";
            try
            {
                if (valList == "")
                    return "";
                if (idobj == null || idobj.ToString() == "")
                    idobj = "NULL";
                valList = valList.Trim().TrimStart('{').TrimEnd('}');
                string head = idobj.ToString().Trim() + ":";
                int indextemp = valList.IndexOf(head);
                if (indextemp < 0)
                    return "";
                valList = valList.Substring(indextemp + head.Length);
                indextemp = valList.IndexOf(",");
                if (indextemp > 0)
                {
                    reStr = valList.Remove(indextemp);
                }
                else {
                    reStr = valList;
                }
            }
            catch { }
            return reStr;
        }

原创粉丝点击