http://community.csdn.net/Expert/topic/3975/3975294.xml?temp=.167721
你好,这是我问你的贴,可以解决原来的问题,可是新问题又来了???请看原贴但是当我将ChangedText 这个属性绑定到DATASET表的一个字段上时,FORM会出错进不了,如下:An unhandled exception of type 'System.ArgumentException' occurred in mscorlib.dll
Additional information: Object type cannot be converted to target type.
请问知道是何回事???好像是事件代理有问题,但是不绑定数据就不会出错

解决方案 »

  1.   

    Object type cannot be converted to target type
    对象类型不能转换成目标类型
      

  2.   

    OpgValue 是我的int类型的自定义属性,如果
    直接这样就不会出错this.baseOptionGroup1.OpgValue = 3
    但是这样会出错
    int lsint = (int)this.DsCust.Tables["customer"].Rows[0]["due_type"];
    this.baseOptionGroup1.OpgValue = lsint;
    但是我看过lsint确实是2或3等有值的int数据.
      

  3.   

    这是出错的信息:An unhandled exception of type 'System.InvalidCastException' occurred in Accs.exe
    Additional information: Specified cast is not valid
      

  4.   

    我改了写法,将绑定到数据的属性改为string类型就可以了,很奇怪,难道自定义的属性只有string类型才可以绑定到DATASET吗?
    下面是我的部份代码

    public string OpgValuestring
    {
    get 
    {
    return OpgValue.ToString();
    }
    set 
    {
    if (value==null)
    {
    value = "0";
    }
    if (OpgValue!=Convert.ToByte(value))
    {
    OpgValue = Convert.ToByte(value);
    OnOpgValueChanged(); 
    }
    }
    }
    public byte OpgValue
    {
    get 
    {
    return opgValue;
    }
    set 
    {
    if (opgValue!=value)
    {
    opgValue = value;
    OnOpgValueChanged(); 
    }
    }
    }
      

  5.   

    你用的byte ,可能跟这个有关
      

  6.   

    没有啊,我用int也一样,string类型的就不出错,请看我新的贴也有问此类问题(与DBNull值有关)