textbox1绑定这个字段,点击“增加”datagrid中出现一行空行,进入textbox1中录入时,出现提示
“列值YHID不允许为空,要更正该值么”。我用CurrencyManager来关联数据集和表。

解决方案 »

  1.   

    我对你的描述看的不大懂.说一下我的看法
    你应该是在点击"增加"时在Grid中加了1行数据,该行数据的主键是空值.
    你最好是先在TEXT中写值,在点"增加"时再添加数据到Grid中
      

  2.   

    我的textbox1和datagrid都作了绑定, 我先是在textbox1中默认是0000,也不行啊 
    增加代码如下:    
          if (e.Button.ToolTipText == "增加")
                {
                    CurrencyManager.AddNew();
                    SetDefaultValue();    //自定义默认设置
                    SetModifyMode(true); //自定义默认设置
                }
      

  3.   

    你应该设置该列的默认值,而不是textbox的:mydatatable.Columns[0].DefaultValue = 0;
      

  4.   

    还是不行啊,晕死了,有没有对表增加、修改、删除的例子阿
    ,最好用到CurrencyManager。
      

  5.   

    protected CurrencyManager cmOrders;     
        private void ParentForm_Load(object sender, EventArgs e)
            {            this.oracleDataAdapter1.Fill(dataSet11);
                cmOrders = (CurrencyManager)BindingContext[dataSet11, "D_USER"];        }
        private void toolBar1_ButtonClick(object sender,  ToolBarButtonClickEventArgs e)
              {
                if (e.Button.ToolTipText == "增加")
                  {
                    cmOrders.AddNew();
                    dataSet11.Tables[0].Columns[0].DefaultValue = 0;
                    SetDefaultValue();
                    SetModifyMode(true);
                  
                  }
             }   
    我的代码,请指教
      

  6.   

    Have a try!protected CurrencyManager cmOrders;
    private void ParentForm_Load(object sender, EventArgs e)
    {this.oracleDataAdapter1.Fill(dataSet11);
    dataSet11.Tables[0].Columns[0].DefaultValue = 0;
    cmOrders = (CurrencyManager)BindingContext[dataSet11, "D_USER"];}private void toolBar1_ButtonClick(object sender, ToolBarButtonClickEventArgs e)
    {
    if (e.Button.ToolTipText == "增加")
    {
    cmOrders.AddNew();
    SetDefaultValue();
    SetModifyMode(true);}
    }