bug
lu
7 天以前 3c84755b07eabfb5e87ade9d020a4d3399ab2a53
DevApp/Gs.DevApp/DevFrm/JJGZ/Frm_MESJJERRORJS.cs
@@ -28,6 +28,14 @@
        public Frm_MESJJERRORJS()
        {
            InitializeComponent();
            // 添加序号显示(使用行指示器)
            gridView2.IndicatorWidth = 60;
            gridView2.CustomDrawRowIndicator += (s, e) =>
            {
                if (e.Info.IsRowIndicator && e.RowHandle >= 0)
                    e.Info.DisplayText = (e.RowHandle + 1).ToString();
            };
            gridView2.CellValueChanged += gridView2_CellValueChanged;
            this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
            this.toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
@@ -38,6 +46,7 @@
            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
            toolBarMenu1.btnChkClick += ToolBarMenu1_btnChkClick;
            toolBarMenu1.btnFChkClick += ToolBarMenu1_btnFChkClick;
            btnFZ.Click += btnFZ_Click;
            this.toolBarMenu1.getXmlConfig();
            Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, picCheckBox, this, "checkStatus", "", (value) =>
            {
@@ -79,7 +88,11 @@
                        }
                        DataTable _newTable = JsonConvert.DeserializeObject<DataTable>(array.ToString());
                        DataTable _oldTable = _newTable.Clone();
                        DataTable _oldTable = gridControl1.DataSource as DataTable;
                        if (_oldTable == null)
                        {
                            _oldTable = _newTable.Clone();
                        }
                        DataRow[] sourceRows = _newTable.Select();
                        for (int i = 0; i < sourceRows.Length; i++)
                        {
@@ -285,7 +298,7 @@
        private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
        {
            string rowGuid = "", rowName = "";
            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_Guid, gridView1, "guid");
            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_Guid, gridView1, "errorNo");
            if (string.IsNullOrEmpty(rowGuid))
            {
                ToolBox.MsgHelper.Warning("请先选择你要操作的行!");
@@ -618,7 +631,7 @@
            ;
            toolBarMenu1.guidKey = "";
            string rowGuid, rowName;
            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_Guid, gridView1, "guid");
            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_Guid, gridView1, "errorNo");
            if (string.IsNullOrEmpty(rowGuid))
            {
                MsgHelper.Warning("请先选择你要操作的行!");
@@ -665,8 +678,20 @@
            {
                txt_HourlyType.EditValue = SelectedDataRow["计时类型"].ToString();
                txt_HourlySalary.EditValue = SelectedDataRow["计时单价"];
                var hourlySalary = decimal.Parse(txt_HourlySalary.EditValue.ToString());
                for (int i = 0; i < gridView2.DataRowCount; i++)
                {
                    DataRow row = gridView2.GetDataRow(i);
                    decimal hour = 0;
                    decimal.TryParse(row["hour"]?.ToString(), out hour);
                    if (row != null)
                    {
                        row["salary"] = hourlySalary * hour;
                    }
                }
                gridView2.RefreshData();
            }
        }
        private void repositoryItemSearchLookUpEdit1_EditValueChanged(object sender, EventArgs e)
@@ -713,5 +738,38 @@
                }
            }
        }
        private void btnFZ_Click(object sender, EventArgs e)
        {
            // 获取当前选中行的行号
            int focusedRowHandle = gridView2.FocusedRowHandle;
            if (focusedRowHandle < 0) return;
            // 获取当前行的时长
            DataRow currentRow = gridView2.GetDataRow(focusedRowHandle);
            if (currentRow == null) return;
            var hourValue = currentRow["hour"];
            if (hourValue == null) return;
            decimal hourlySalary = 0;
            decimal hour = 0;
            decimal.TryParse(txt_HourlySalary.Text, out hourlySalary);
            // 获取时长
            decimal.TryParse(currentRow["hour"]?.ToString(), out hour);
            // 批量设置下面所有行的时长
            for (int i = focusedRowHandle + 1; i < gridView2.DataRowCount; i++)
            {
                var row = gridView2.GetDataRow(i);
                if (row != null)
                {
                    row["hour"] = hourValue;
                    // 计算计时工资
                    row["salary"] = hourlySalary * hour;
                }
            }
            gridView2.RefreshData();
        }
    }
}