winform 里面有一个DataGridView
form加载时DataGridView绑定了一个数据库表。key:id(自动增长),副表关联字段cusid.
form加载时我不想DataGridView显示cusid列,所以sql查询时就没写这个字段。
问题来了:
我想新增一条记录时,cusid这个字段要赋值,用dataadapter.update()方式该怎么实现啊?
就是实现DataGridView的增删改。
当然如果form load时要把cusid加上去也可以,能把它隐藏也可以。求大牛帮忙DataGridViewWinForm

解决方案 »

  1.   

    建立 类(依据表)存放数据啊,一张表一个对象,就像三层结构的 dol数据一样
      

  2.   

    只有一个表的操作,哥哥们,,,cusid不需要从别的表取,随意能赋个123也行啊。。
      

  3.   

    一样的赋值到ataGridView里,把这列不显示就好了
      

  4.   

    form load 代码
    cuslistsda = new SqlDataAdapter("select id, [Cdate] as 日期, [CCode] as 型号, [CType] as 分类, [CCost] as 成本,[OutPrice] as 出货价,[CustomerName] as 客户名称,"
                            + "[Gain] as 利润, [jinhuoshang] as 进货商, [PayMode] as 支付方式, [shui] as 是否含税, [FP] as 发票, [BZ] as 备注  from customers", conn);
                cuslistsda.Fill(cuslistds, "cuslistTable");
                this.dataGridView2.DataSource = cuslistds.Tables[0];button代码(对dataGridView2修改后)
    conn = new SqlConnection(connectionString);
                conn.Open();
                if (MessageBox.Show("确实要修改数据库吗?", "决策提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                {
                    DataTable dt = this.dataGridView2.DataSource as DataTable;
                                    if (dt != null)
                    {
                        try
                        {
                            SqlDataAdapter da = new SqlDataAdapter("select id,[Cdate] as 日期, [CCode] as 型号, [CType] as 分类, [CCost] as 成本,[OutPrice] as 出货价,[CustomerName] as 客户名称,"
                            + "[Gain] as 利润, [jinhuoshang] as 进货商, [PayMode] as 支付方式, [shui] as 是否含税, [FP] as 发票, [BZ] as 备注  from Customers", conn);
                            SqlCommandBuilder scb = new SqlCommandBuilder(da);
                            DataSet ds = new DataSet();
                            da.Fill(ds, "customers");
                            da.Update(dt);
                        }
                        catch (DataException de)
                        {
                            //
                        }
                    }
                    MessageBox.Show("成功修改数据库!", "恭喜");
                }
                else
                {
                    MessageBox.Show("放弃修改数据库!", "系统提示");
                }
            }
    这样可以修改数据库了,但是新增一条记录的话cusid字段没有赋值啊求指点
      

  5.   

    那你就把cusid字段在select和插入的时候都加上,显示的时候隐藏列就可以了,貌似这个语句可以dataGridView2.Columns["cusid"].Visible = false;
      

  6.   

    关键是给cusid赋值啊,cusid是用户登陆时的帐号,我要把这个帐号赋值给cusid。
      

  7.   

    把cusid的 Visible=false.就隐藏了
      

  8.   

    datagridview是动态赋值的啊,怎么设置?求代码?