链接数据库成功后,发现有两个字段。一个叫进度,另个叫收费状态。这两个字段分别都是数值型,1、2如何使查询结果
dataGridView1中显示出的1.2分别换成完成;为完成;和已收费未收费;

解决方案 »

  1.   

    今天赋值上方法
    昨天太晚了,,
    思路就是自定义增加一列到datagridview 然后绑定枚举型的
     private DataGridViewComboBoxColumn CreateComboBoxWithEnums()
            {
                DataGridViewComboBoxColumn combo = new DataGridViewComboBoxColumn();
                combo.DataSource = Enum.GetValues(typeof(Keywords.ValueType));
                combo.DataPropertyName = "ValueType";
                combo.Name = "数据类型";
                combo.ReadOnly = true;
                return combo;
            }
      private void InitializeDateGridView()
            {
    DataGridViewColumn column = CreateComboBoxWithEnums();
                //column.DataPropertyName = "ValueType";
                //column.Name = "数据类型";
                dataGridView1.Columns.Add(column);
    }
    public static class Keywords
        {
    public enum ValueType
            {
                完成= 1,
                未完成= 2,
    }
    }
      

  2.   

    1.首先定义一个枚举
       /// <summary>
        /// 进度
        /// </summary>
        [Description("进度")]
        public enum schedule
        {
            /// <summary>
            /// 完成
            /// </summary>
            [Description("完成")]
            complete= 1,        /// <summary>
            /// 未完成
            /// </summary>
            [Description("未完成")]
            uncomplete= 2
        }
    2、定义个获取枚举描述的方法;
    3、在Gridview中定义个Label,再在RowDataBound事件中
       找到此控件如: Label lbschedule = (Label)e.Row.Cells[5].FindControl("schedule");
       对取出的值进行转换赋值给页面,lbschedule.Text =GetDescription((PermissionStatus)Convert.ToInt32(lbtnStatus.Text));
      

  3.   

    直接在SQL 里面写都行啦用case语句
      

  4.   

    三目运算啊 。
    查询结果==1?"已收费":"收费"
    然后辅导datagridview里面去!!!!