用checkbox绑定的bit类型的字段
在用 this.BindingContext[?].AddNew()方法新增加一行时会出错
请大家分析一下原因,可有无解决方法

解决方案 »

  1.   

    参看
    http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c44c.aspx#q754q
      

  2.   

    据我所知,C# 里 CheckBox 返回值是布尔值 True 或False  ,一般更新数据库时bit字段是0或1,
    所以需要一个转换 Convert也可以直接写一个转换类,然后在取CheckBox.checked时使用转换 ,把bool转换为int
      

  3.   

    那么怎么具体写,让当addnew()时候,checkbox的默认false转化成bit 的0 1呢
      

  4.   

    using System;
    using System.Collections.Generic;
    using System.Text;namespace MinWage
    {
    class MyString
    {
    public static int Bool2Int(object o)
    {
    if (Convert.ToBoolean(o) == true)
    {
    return 1;
    }
    else
    {
    return 0;
    }
    }
    }
    }
    //新建一个类文件.cs,把这个代码完全粘贴进去。这就是我写的一个简单的转换类型类,你要存储数据的时候,调用这个类就好了。--------------------------------
    还不懂请看例子:
    我有一个checkBox1控件 我要取到他的0或1值, 就这样写:
    MyString.Bool2Int(checkBox1.Checked);
    得到的就是 0  或  1。
      

  5.   

    补充一下:namespace MinWage 是我的命名空间,所以你需要用的时候,这样写:
    MinWage.MyString.Bool2Int(checkBox1.Checked);
    即可。当然,你也可以每次都自己写方法转换,但是那就重复了。
    写类可以示代码重复利用,程序清晰。