zoukankan      html  css  js  c++  java
  • C# WinForm DataGirlView 单元格编辑

    看到上面的图,很明显就是让在DataGrilView中修改消费次数的,这就要求我们要在DataGrilView可以更新数据,那么怎么做到呢,其实很简单

    首先、dataGrilView要启用编辑才可以

    其次、看看下面的代码

      private void btnOk_Click(object sender, EventArgs e)
            {
                Pays objPay = new Pays();
                if (this.ValidateData())
                {
                    bool fig = false;
                    int count = Convert.ToInt32(dgvPayDetails.Rows.Count.ToString());
    
                    objPay.PayID = this.txtCode.Text.Trim();
                    objPay.MemberId = this.txtClient.Text.Trim();
                    if (objPay.MemberId == "")
                    {
                        objPay.MemberId = "0";
                    }
                    objPay.EmpID1 = int.Parse(this.cboEmp1.SelectedValue.ToString());
                    objPay.EmpID2 = int.Parse(this.cboEmp2.SelectedValue.ToString());
                    objPay.EmpID3 = int.Parse(this.cboEmp3.SelectedValue.ToString());
                    objPay.Status = 1;
                    objPay.Money = 0M;
                    objPay.Remark = this.txtRemark.Text.Trim();
                    objPay.PayDate = DateTime.Parse(this.dtpPayDate.Value.Date.ToShortDateString() + " " + DateTime.Now.ToLongTimeString());
                    if (objPay.InsertCountPay() > 0)//新增消费单据
                    {
                        for (int i = 0; i < count; i++)
                        {
                            //如果DataGridView是可编辑的,将数据提交,否则处于编辑状态的行无法取到
                            dgvPayDetails.EndEdit();
                            DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)dgvPayDetails.Rows[i].Cells["SelIndex"];
                            Boolean flag = Convert.ToBoolean(checkCell.Value);
                            if (flag == true)     //查找被选择的数据行
                            {
                                //从 DATAGRIDVIEW 中获取数据项
                                fig = true;
                                string z_zcode = dgvPayDetails.Rows[i].Cells[5].Value.ToString().Trim();
                                string mid = txtClient.Text;
                                string sid = dgvPayDetails.Rows[i].Cells[1].Value.ToString();
                                TradeCount model = new TradeCount().GetTradeCountByShopId(sid, mid);
                                model.memberId = mid;
                                model.userCount -= Convert.ToInt32(z_zcode);
    
                                model.UpdateTradeCount();
                                LoadTradeCount();
                            }
                        }
                        if (fig == false)
                        {
                            MessageBox.Show("请选择要消费的项目", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            return;
                        }
                    }
    
    
                    DialogResult = DialogResult.OK;
                    this.Close();
    
                }
              
            }
    
         
    
            private void dgvPayDetails_CellClick(object sender, DataGridViewCellEventArgs e)
            {
               
            }
    
            private void dgvPayDetails_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
                dgvPayDetails.EndEdit();
                DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)dgvPayDetails.Rows[e.RowIndex].Cells["SelIndex"];
                Boolean flag = Convert.ToBoolean(checkCell.Value);
                if (flag == true)//查找被选择的数据行
                {
                    //从 DATAGRIDVIEW 中获取数据项
    
                    dgvPayDetails.CurrentCell = dgvPayDetails.Rows[e.RowIndex].Cells[5];
                    dgvPayDetails.BeginEdit(true);
              
                }
    
            }
    View Code

    注:
    获得单元格的值 string z_zcode = dgvPayDetails.Rows[i].Cells[5].Value.ToString().Trim();

  • 相关阅读:
    emWin 界面切换注意事项
    emWin 工程之汉字显示
    emWin 使用 GUIBuilder 放置标题 TEXT 注意
    【转】系统调用和驱动程序中相应函数的参数对应关系
    主机 & 虚拟机 & 开发板 相互通信
    电脑通过网口连接开发板
    【转】ARM交叉编译工具链
    【转】vi 写完文件保存时才发现是 readonly
    【转】ubuntu 12.04下如何开启 NFS 服务 & 设置
    安装完打开 eclipse 提示 JVM 版本较低
  • 原文地址:https://www.cnblogs.com/shuang121/p/3103788.html
Copyright © 2011-2022 走看看