列数据变更

        private void gridMainView_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            if (gridMainView.RowCount > 0 && e.RowHandle >= 0)
            {
                if (gridMainView.FocusedColumn.FieldName == "IFQR" || gridMainView.FocusedColumn.FieldName == "BZ")
                {
                    try
                    {
                        int handle = e.RowHandle;
                        bool isqr = Convert.ToBoolean(this.gridMainView.GetRowCellValue(handle, gridMainView.Columns["IFQR"]));
                        DateTime qrrq = Convert.ToDateTime(this.gridMainView.GetRowCellValue(handle, gridMainView.Columns["QRRQ"]));
                        string bzStr = (string)this.gridMainView.GetRowCellValue(handle, gridMainView.Columns["BZ"]);
                        if (isqr /*qrrq.ToString("yyyy-MM-dd HH:mm:ss") != "0001-01-01 00:00:00"*/) 
                        {
                            SCZQ model = gridMainView.GetFocusedRow() as SCZQ;
                            if (model != null)
                            {
                                model.IFQR = true;
                                model.ISCHANGED = "1";
                                if(qrrq.ToString("yyyy-MM-dd HH:mm:ss") == "0001-01-01 00:00:00")
                                {
                                    model.QRRQ = System.DateTime.Now;
                                }
                            }
                            gridMainView.RefreshData();
                        }
                        else if(!isqr && !string.IsNullOrWhiteSpace(bzStr))
                        {
                            SCZQ model = gridMainView.GetFocusedRow() as SCZQ;
                            if (model != null)
                            {
                                model.IFQR = false;
                                model.ISCHANGED = "0";
                            }
                            gridMainView.RefreshData();
                        }
                        if (!string.IsNullOrWhiteSpace(bzStr))
                        {
                            SCZQ model = gridMainView.GetFocusedRow() as SCZQ;
                            if (model != null)
                            {
                                model.BZ = bzStr;
                                model.ISCHANGED = "1";
                            }
                            gridMainView.RefreshData();
                        }
                        //gridMainView.SetRowCellValue(handle, "ISCHANGED", "1");  //设置主表变更
                        isChangeList = gridMainView.DataSource as List<SCZQ>;
                    }
                    catch (Exception ex)
                    {
                        ShowWarningBox(ex.Message);
                    }
                }
            }
        }

另一个是 变更整列的数据

private void gvMain_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            if(e.Column.FieldName == "ZZ")
            {
                int curRowIdx = e.RowHandle;
                string zzStr = gvMain.GetRowCellValue(curRowIdx, "ZZ").ToString();
                for(int i= curRowIdx+1;i< dataList.Count; i++)
                {
                    gvMain.SetRowCellValue(i, "ZZ", zzStr);         //给列赋值
                }
                
                gcMain.RefreshDataSource();
                dataList = gcMain.DataSource as List<YPCCJLB>;
            }
        }

 

posted on 2020-07-07 11:02  伍佰仟  阅读(117)  评论(0)    收藏  举报