我的数据库里的类型是bit类型的 用显示的时候它只显示True或false  我向让他来显示 是或否
在进行绑定前我已经对数据进行了处理但报错
我的代码是:
 private void BindGrid()
    {
        string str = "select * from news";
        db.Open();
        //创建DataSet对象
        DataSet ds = new DataSet();
        try
        {
            //填充数据集
            ds = db.CreateSQLdta(str);
            //bit类型中1代表是0代表否
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                if (ds.Tables[0].Rows[i]["IsOk"].ToString() == "1")
                    ds.Tables[0].Rows[i]["IsOk"] = "是";
                else
                    ds.Tables[0].Rows[i]["IsOk"] = "否";
                if (ds.Tables[0].Rows[i]["Rd"].ToString() == "1")
                    ds.Tables[0].Rows[i]["Rd"] = "是";
                else
                    ds.Tables[0].Rows[i]["Rd"] = "否";            }
            //进行数据绑定
            DataGrid1.DataSource = ds.Tables[0].DefaultView;
            DataGrid1.DataBind();
        }

解决方案 »

  1.   

    在C#中直接使用BOOL型就可以接受BIT类型的
      

  2.   

    // DataGrid 中可直接转换
    // 模板列中...
    <itemtemplate>
    <%# (bool)Eval("MyField") ? "是" : "否" %>
    ...
      

  3.   

    <ItemTemplate>
    <%# Convert.ToBoolean(DataBinder.Eval(Container.DataItem, "MyField")) ? "是" : "否" %>
      

  4.   

    假如,你需要往 DataTable 添加列,还不不如,直接 SELECT 的时候体田间
    SELECT CASE MyField WHEN 1 THEN '是' ELSE '否' END AS MyFieldAlias, ...
      

  5.   

    谢谢  Jinglecat(晓风残月 >> 
       哈哈 
         问题解决了