Пример #1
0
        /// <summary>
        /// 更新表格显示
        /// </summary>
        /// <param name="arch">编辑记录信息</param>
        private void UpdateGridView(ArchiveInfoDto arch)
        {
            string curOpera = null;// ctrlPanel.Tag.ToString();

            switch (curOpera)
            {
            case "Add":      // “新增”操作时对表格的更新
                // 更新记录集
                arvList.Add(arch);

                if (gcArvInfo.DataSource != arvList)
                {
                    // 表格关联数据集发生变化,更新数据集
                    gcArvInfo.DataSource = arvList;

                    ClearSearch();      // 清除搜索结果
                }

                break;

            case "Edit":     // “修改”操作时对表格的更新
                // 获取当前表格中记录
                BindingList <ArchiveInfoDto> bindingList = (BindingList <ArchiveInfoDto>)gcArvInfo.DataSource;
                // 查找被修改的记录
                ArchiveInfoDto arv = bindingList.First(p => p.ID == arch.ID);    //(p => p.ArvID == arch.ArvID);
                // 用新的记录替代原纪录,表格自动更新
                bindingList[bindingList.IndexOf(arv)] = arch;

                break;

            default:
                break;
            }
        }
Пример #2
0
 /// <summary>
 /// 更新录入界面的表格显示
 /// </summary>
 /// <param name="arch"></param>
 private void UpdateGridViewShow(ArchiveInfoDto arch)
 {
     if (UpdateGViewDataListEvent != null)
     {
         UpdateGViewDataListEvent(arch);
     }
 }
Пример #3
0
        /// <summary>
        /// 多条档案编辑
        /// </summary>
        private void OnEdit()
        {
            if (gvArvInfo.GetSelectedRows().Length == 0)
            {
                MessageUtil.ShowWarning("请至少选择一条记录进行编辑!");
                return;
            }

            // 记录选中记录的索引
            int[] selectedIdx = gvArvInfo.GetSelectedRows();

            // 建立所有选中档案的记录集
            BindingList <ArchiveInfoDto> selectedArvItems = new BindingList <ArchiveInfoDto>();

            foreach (int rowIndex in selectedIdx)
            {
                // 已选择的档案信息
                ArchiveInfoDto info = (ArchiveInfoDto)gvArvInfo.GetRow(rowIndex);
                // 添加记录集
                selectedArvItems.Add(info);
            }

            // 进入编辑对话框
            toolBar.Tag = "EDIT";
            OpenFormInfo("EDIT", selectedArvItems);

            // 刷新表格关联数据集
            gcArvInfo.RefreshDataSource();
        }
Пример #4
0
        /// <summary>
        /// 档案入库
        /// </summary>
        /// <param name="arv"></param>
        public int InToStorage(ArchiveInfoDto arvDto)
        {
            ArvBox      arvBox = arvDto.MapTo <ArvBox>();
            ArchiveInfo arv    = arvDto.MapTo <ArchiveInfo>();

            return(baseArvOpService.InToStorage(arv, arvBox));
        }
Пример #5
0
        private void FormArvInfo_Load(object sender, EventArgs e)
        {
            devices = CallerFactory.Instance.GetService <ISystemConfigService>().GetAllDevices();//所有设备

            // 设置文本框输入提示
            FieldCfgDto t        = PropertyHelper.FieldCfgItems.Find(q => q.FieldName == "ArvBoxID");
            string      nullText = string.Format("请输入或双击选择{0}", t == null ? "ArvBoxID" : t.FieldShowName);

            txtArvBoxID.SetWatermark(nullText);

            // 设置UI控件的属性
            ConfigControlProperty(this.Tag.ToString());

            // 获得所有档案盒信息
            GetArvBoxs();

            // “编辑”界面下显示档案信息
            if (this.Tag.ToString() == "EDIT")
            {
                // 当前选中的档案信息
                arvCurrent = arvInfoList[0];
                // 加载档案信息
                LoadArvInfo(arvCurrent);
            }
        }
Пример #6
0
        /// <summary>
        /// 执行入柜操作
        /// </summary>
        private void ArvInput()
        {
            bool succeed = true;

            for (int i = 0; i < gvIntoCabinet.RowCount; i++)
            //foreach (ArchiveInfoDto arv in ArchiveList)
            {
                try
                {
                    ArchiveInfoDto arv = (ArchiveInfoDto)gvIntoCabinet.GetRow(i);
                    // 更新档案当前状态
                    arv.ArvStatus = "在库";
                    //ArchiveBLL.Instance.Update(arv, arv.ArvID);
                    CallerFactory.Instance.GetService <IArvOpService>().UpdateArvInfo(arv);

                    // 更新档案存储位置(这里不再需要)

                    // “是否保存”设置为选中
                    //arvInfoTable.Rows[idx++]["是否保存"] = true;
                    gvIntoCabinet.SetRowCellValue(i, gvIntoCabinet.Columns["colCheck"], true);
                    OnInformCompleted(arv.ArvID);
                }
                catch (Exception e)
                {
                    succeed = false;
                    MessageUtil.ShowError(e.ToString());
                }
            }

            //ArchiveList.Clear();
            // if (succeed)
            //  UpdateClipBoardInfo((String.Format("提示:所有档案信息保存入{0}号回转库第{1}层!", lblGroupNo.Text, lblLayerNo.Text)));
        }
Пример #7
0
        private void LoadArvBox(ArvBoxDto arvBoxDto)
        {
            List <ArchiveInfoDto> arvs = new List <ArchiveInfoDto>();

            foreach (int index in gvArvInfo.GetSelectedRows())
            {
                ArchiveInfoDto dto = (ArchiveInfoDto)gvArvInfo.GetRow(index);
                dto.ArvBoxID    = arvBoxDto.ArvBoxID;
                dto.ArvBoxTitle = arvBoxDto.ArvBoxTitle;
                dto.GroupNo     = arvBoxDto.GroupNo;
                dto.LayerNo     = arvBoxDto.LayerNo;
                dto.CellNo      = arvBoxDto.CellNo;
                arvs.Add(dto);
            }
            try
            {
                CallerFactory.Instance.GetService <IArvOpService>().UpdateArvInfos(arvs);                      //更新数据库
                BindingList <ArchiveInfoDto> bindingList = (BindingList <ArchiveInfoDto>)gcArvInfo.DataSource; //当前的绑定
                foreach (int index in gvArvInfo.GetSelectedRows())
                {
                    //更新表格显示
                    gvArvInfo.SetRowCellValue(index, "ArvBoxID", arvBoxDto.ArvBoxID);
                    gvArvInfo.SetRowCellValue(index, "ArvBoxTitle", arvBoxDto.ArvBoxTitle);
                    gvArvInfo.SetRowCellValue(index, "GroupNo", arvBoxDto.GroupNo);
                    gvArvInfo.SetRowCellValue(index, "LayerNo", arvBoxDto.LayerNo);
                    gvArvInfo.SetRowCellValue(index, "CellNo", arvBoxDto.CellNo);
                }
            }
            catch (Exception ex)
            {
                MessageUtil.ShowError(ex.ToString());
            }
        }
Пример #8
0
        private void OnInput()
        {
            BindingList <ArchiveInfoDto> arvs = new BindingList <ArchiveInfoDto>();//待入柜的档案

            int[] allSelected = gvArvInfo.GetSelectedRows();

            if (allSelected.Count() == 0)
            {
                MessageUtil.ShowWarning("请选择要入柜的档案!");
                return;
            }

            foreach (int idx in allSelected)
            {
                ArchiveInfoDto item = (ArchiveInfoDto)gvArvInfo.GetRow(idx);
                arvs.Add(item);
            }

            FrmDVDeviceCtrl frmDevice = new FrmDVDeviceCtrl();

            frmDevice.ArchiveList      = arvs;
            frmDevice.Tag              = "Input";
            frmDevice.InformCompleted += UpdateInfo;
            frmDevice.ShowDialog();
        }
Пример #9
0
        private void OnInput()
        {
            BindingList <ArchiveInfoDto> arvs = new BindingList <ArchiveInfoDto>();//待入柜的档案

            int[] allSelected = gvArvInfo.GetSelectedRows();

            if (allSelected.Count() == 0)
            {
                MessageUtil.ShowWarning("请选择要入柜的档案!");
                return;
            }

            foreach (int idx in allSelected)
            {
                ArchiveInfoDto item = (ArchiveInfoDto)gvArvInfo.GetRow(idx);
                if (item.ArvBoxID == null)
                {
                    MessageUtil.ShowWarning("请确定所有档案的存放位置!");
                    return;
                }
                // 更新档案当前状态
                item.ArvStatus = "在库";//测试
                arvs.Add(item);
            }


            CallerFactory.Instance.GetService <IArvOpService>().UpdateArvInfos((arvs.ToList()));
            //FormDVDeviceCtrl frmDevice = new FormDVDeviceCtrl();
            //frmDevice.ArchiveList = arvs;
            //frmDevice.Tag = "Input";
            //frmDevice.InformCompleted += UpdateInfo;
            //frmDevice.ShowDialog();
        }
Пример #10
0
        private void UpdateInfo(string arvID)
        {
            ArchiveInfoDto arv = arvList.First(q => q.ID == arvID); //(q => q.ArvID == arvID);

            if (arv != null)
            {
                arvList.Remove(arv);
            }
        }
Пример #11
0
        private void OnEditOne()
        {
            // 进入编辑对话框
            ctrlPanel.Tag = "EDIT";
            // 已选择的档案信息
            ArchiveInfoDto info = (ArchiveInfoDto)gvArvInfo.GetFocusedRow();

            OpenFormInfo("EDIT", null);
        }
Пример #12
0
 /// <summary>
 /// 显示选中的档案信息
 /// </summary>
 /// <param name="arvCurrent"></param>
 void LoadArvInfo(ArchiveInfoDto arvCurrent)
 {
     txtArvID.Text       = arvCurrent.ArvID;
     txtArvTitle.Text    = arvCurrent.ArvTitle;
     txtArvBoxID.Text    = arvCurrent.ArvBoxID;
     txtArvBoxTitle.Text = arvCurrent.ArvBoxTitle;
     cbxArvType.Text     = arvCurrent.ArvType;
     cbxArvUnit.Text     = arvCurrent.ArvUnit;
     txtLabelID.Text     = arvCurrent.LabelID;
     txtEDoc.Text        = arvCurrent.Edoc;
     cbxArvYear.Text     = arvCurrent.ArvYear;
 }
Пример #13
0
 /// <summary>
 /// 初始化记录对象
 /// </summary>
 /// <param name="arch"></param>
 private void InitObject(ArchiveInfoDto arch)
 {
     arch.ArvID       = txtArvID.Text.Trim();
     arch.ArvTitle    = txtArvTitle.Text.Trim();
     arch.ArvBoxID    = txtArvBoxID.Text.Trim();
     arch.ArvBoxTitle = txtArvBoxTitle.Text.Trim();
     arch.ArvType     = cbxArvType.Text.Trim();
     arch.ArvUnit     = cbxArvUnit.Text.Trim();
     arch.ArvYear     = cbxArvYear.Text.Trim();
     arch.LabelID     = txtLabelID.Text.Trim();
     arch.Edoc        = txtEDoc.Text.Trim();
     arch.Rsv2        = cbxRsv2.Text.Trim();
     arch.Rsv3        = txtRsv3.Text.Trim();
     arch.Rsv4        = cbxRsv4.Text.Trim();
     arch.Rsv5        = txtRsv5.Text.Trim();
 }
Пример #14
0
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="arch"></param>
        private void Update(ArchiveInfoDto arch)
        {
            try
            {
                // 修改档案
                CallerFactory.Instance.GetService <IArvOpService>().UpdateArvInfo(arch);
                // 更新档案信息到表格关联的数据集
                UpdateGridViewShow(arch);

                MessageUtil.ShowTips("修改成功!");
            }
            catch (Exception ex)
            {
                MessageUtil.ShowWarning(ex.Message);
            }
        }
Пример #15
0
        /// <summary>
        /// 借阅信息表的移除操作
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnRemove_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
        {
            // 提取当前记录
            ArchiveInfoDto info = gvArvToLend.GetRow(gvArvToLend.FocusedRowHandle) as ArchiveInfoDto;

            // 取消该条记录在借阅明细表中的选中状态
            for (int i = 0; i < gvArvInfo.RowCount; i++)
            {
                if (gvArvInfo.GetRowCellValue(i, gvArvInfo.Columns[0]).ToString() == info.ID)//ArvID)
                {
                    // 档案信息表中取消“CheckBox”选中状态,同时引起表格的“SelectionChanged”事件
                    gvArvInfo.UnselectRow(i);
                    break;
                }
            }
        }
Пример #16
0
        /// <summary>
        /// 档案信息表选中记录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gvArvInfo_SelectionChanged(object sender, DevExpress.Data.SelectionChangedEventArgs e)
        {
            // 清空借阅信息表
            arvToLendList.Clear();

            // 选中的行
            int[] numSelected = gvArvInfo.GetSelectedRows();

            foreach (int index in numSelected)
            {
                // 提取选中记录
                ArchiveInfoDto info = gvArvInfo.GetRow(index) as ArchiveInfoDto;
                // 加入借阅明细表
                arvToLendList.Add(info);
            }

            // 更新借阅明细数据源
            gcArvToLend.RefreshDataSource();
            gvArvToLend.BestFitColumns();
        }
Пример #17
0
        /// <summary>
        /// 判断当前档案是否改变
        /// </summary>
        /// <returns></returns>
        private bool CheckChanged()
        {
            // 建立档案实体类对象
            ArchiveInfoDto arch = new ArchiveInfoDto();

            // 利用界面显示信息初始化实体类
            InitArchive(arch);

            // 利用反射获取类对象的成员
            foreach (PropertyInfo info in arch.GetType().GetProperties())
            {
                if (info.Name != "ArvStatus" && info.Name.ToLower() != "id")
                {
                    if ((info.GetValue(arch, null) != null) && (string.IsNullOrEmpty(info.GetValue(arch, null).ToString())))
                    {
                        if (info.GetValue(arvCurrent, null) == null || info.GetValue(arvCurrent, null).ToString() == "")
                        {
                            continue;
                        }
                        else
                        {
                            return(true);
                        }
                    }
                    else if (info.GetValue(arvCurrent, null) == null)
                    {
                        return(true);
                    }
                    else
                    {
                        if (info.GetValue(arch, null).ToString() != info.GetValue(arvCurrent, null).ToString())
                        {
                            return(true);
                        }
                    }
                }
            }

            return(false);
        }
Пример #18
0
        /// <summary>
        /// 保存档案信息
        /// </summary>
        private void Save()
        {
            // 新增
            if (this.Tag.ToString() == "ADD")
            {
                // 建立档案信息类对象
                ArchiveInfoDto arch = new ArchiveInfoDto();
                // 界面信息初始化实体类
                InitArchive(arch);
                // 档案初始状态为“在档”,执行“入库”后转为“在库”
                arch.ArvStatus = "在档";
                // 写数据库
                AddNew(arch);
            }

            // 修改
            if (this.Tag.ToString() == "EDIT")
            {
                InitArchive(arvCurrent);
                Update(arvCurrent);
            }
        }
Пример #19
0
        /// <summary>
        /// 新增操作
        /// </summary>
        /// <param name="arch"></param>
        private void AddNew(ArchiveInfoDto arch)
        {
            try
            {
                int succeed = CallerFactory.Instance.GetService <IArvOpService>().InToStorage(arch);
                if (succeed != 0)
                {
                    // 档案信息加入表格关联的数据集
                    UpdateGridViewShow(arch);

                    MessageUtil.ShowTips("添加成功!");
                }
                else
                {
                    MessageUtil.ShowTips("添加失败!");
                }
            }
            catch (Exception ex)
            {
                MessageUtil.ShowWarning(ex.Message);
            }
        }
Пример #20
0
        /// <summary>
        /// 根据界面显示初始化记录对象
        /// </summary>
        /// <param name="arch"></param>
        private void InitArchive(ArchiveInfoDto arch)
        {
            // 档案信息
            arch.ID       = txtArvID.Text.Trim();
            arch.ArvTitle = txtArvTitle.Text.Trim();
            arch.ArvType  = cbxArvType.Text.Trim();
            arch.ArvUnit  = cbxArvUnit.Text.Trim();
            arch.ArvYear  = deArvYear.Text.Trim();
            arch.LabelID  = txtLabelID.Text.Trim();
            arch.Edoc     = txtEDoc.Text.Trim();
            arch.Rsv1     = cbxRsv2.Text.Trim();
            arch.Rsv2     = txtRsv3.Text.Trim();
            arch.Rsv3     = cbxRsv4.Text.Trim();
            arch.Rsv4     = txtRsv5.Text.Trim();

            arch.CreatePerson = txtCreatePerson.Text.Trim();
            arch.CreateTime   = deCreateTime.DateTime;

            // 档案盒
            arch.ArvBoxID    = txtArvBoxID.Text.Trim();
            arch.ArvBoxTitle = txtArvBoxTitle.Text.Trim();

            // 位置
            string groupNo = cbxGroupNo.Text.Trim();

            arch.GroupNo = string.IsNullOrEmpty(groupNo) == true ? 0 : Convert.ToInt16(groupNo);
            string layerNo = cbxLayerNo.Text.Trim();

            arch.LayerNo = string.IsNullOrEmpty(layerNo) == true ? 0 : Convert.ToInt16(layerNo);
            string cellNo = cbxCellNo.Text.Trim();

            arch.CellNo = string.IsNullOrEmpty(cellNo) == true ? 0 : Convert.ToInt16(cellNo);

            //// 如果档案盒信息和存储位置信息不为空,则档案状态从“在档”变为“在库”
            //if(!string.IsNullOrEmpty(arch.ArvBoxID) && (arch.GroupNo != 0) && (arch.LayerNo != 0))
            //{
            //    arch.ArvStatus = "在库";
            //}
        }
Пример #21
0
        /// <summary>
        /// 保存档案信息
        /// </summary>
        private void Save()
        {
            // 新增
            if (this.Tag.ToString() == "ADD")
            {
                // 建立档案信息类对象
                ArchiveInfoDto arch = new ArchiveInfoDto();
                // 初始化对象
                InitObject(arch);
                arch.CreateTime = System.DateTime.Now;
                arch.ArvStatus  = "在库";
                AddNew(arch);
            }

            // 修改
            if (this.Tag.ToString() == "EDIT")
            {
                InitObject(arvCurrent);
                //arvCurrent.AuditTime = System.DateTime.Now;
                Update(arvCurrent);
            }
        }
Пример #22
0
        /// <summary>
        /// 下一记录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnNext_Click(object sender, EventArgs e)
        {
            if (CheckChanged())
            {
                DialogResult result = MessageUtil.ShowYesNoAndTips("是否保存对当前档案的修改?");
                if (result == DialogResult.Yes)
                {
                    Save();
                }
            }
            if (rowIndex == arvInfoList.Count() - 1)
            {
                MessageUtil.ShowWarning("已经到达最后一条记录!");
                return;
            }

            rowIndex++;

            // 得到当前档案信息
            arvCurrent = arvInfoList[rowIndex];
            // 加载档案信息
            LoadArvInfo(arvCurrent);
        }
Пример #23
0
        /// <summary>
        /// “编辑”状态下UI显示档案信息
        /// </summary>
        /// <param name="arvCurrent"></param>
        void LoadArvInfo(ArchiveInfoDto arvCurrent)
        {
            // 档案信息
            txtArvID.Text    = arvCurrent.ID;
            txtArvTitle.Text = arvCurrent.ArvTitle;
            cbxArvType.Text  = arvCurrent.ArvType;
            cbxArvUnit.Text  = arvCurrent.ArvUnit;
            txtLabelID.Text  = arvCurrent.LabelID;
            txtEDoc.Text     = arvCurrent.Edoc;
            deArvYear.Text   = arvCurrent.ArvYear;

            txtCreatePerson.Text  = arvCurrent.CreatePerson;
            deCreateTime.DateTime = arvCurrent.CreateTime;

            // 档案盒信息
            txtArvBoxID.Text    = arvCurrent.ArvBoxID;
            txtArvBoxTitle.Text = arvCurrent.ArvBoxTitle;

            // 档案盒存储位置
            cbxGroupNo.Text = arvCurrent.GroupNo.ToString();
            cbxLayerNo.Text = arvCurrent.LayerNo.ToString();
            cbxCellNo.Text  = arvCurrent.CellNo.ToString();
        }
Пример #24
0
        /// <summary>
        /// 判断当前档案是否改变
        /// </summary>
        /// <returns></returns>
        private bool CheckChanged()
        {
            // 建立档案信息类对象
            ArchiveInfoDto arch = new ArchiveInfoDto();

            // 初始化对象
            InitObject(arch);
            foreach (PropertyInfo info in arch.GetType().GetProperties())
            {
                if (info.Name != "ArvStatus")
                {
                    if (info.GetValue(arch, null) != null && String.IsNullOrEmpty(info.GetValue(arch, null).ToString()))
                    {
                        if (info.GetValue(arvCurrent, null) == null || info.GetValue(arvCurrent, null).ToString() == "")
                        {
                            continue;
                        }
                        else
                        {
                            return(true);
                        }
                    }
                    else if (info.GetValue(arvCurrent, null) == null)
                    {
                        return(true);
                    }
                    else
                    {
                        if (info.GetValue(arch, null).ToString() != info.GetValue(arvCurrent, null).ToString())
                        {
                            return(true);
                        }
                    }
                }
            }
            return(false);
        }
Пример #25
0
 public int Delete(ArchiveInfoDto arvDto)
 {
     return(baseArvOpService.Delete(arvDto.MapTo <ArchiveInfo>()));
 }
Пример #26
0
 public int UpdateArvInfo(ArchiveInfoDto arvDto)
 {
     return(baseArvOpService.UpdateArvInfo(arvDto.MapTo <ArchiveInfo>()));
 }
Пример #27
0
        ///// <summary>
        ///// 单个档案放入柜中(后期看情况第二个参数改成档案盒编号)
        ///// </summary>
        ///// <param name="dto"></param>
        ///// <param name="locDto"></param>
        ///// <returns></returns>
        //public int InputToCab(ArchiveInfoDto dto, ArvLocationDto locDto)
        //{
        //    return this.Invoker.Invoke<int>(q => q.InputToCab(dto,locDto));
        //}

        ///// <summary>
        ///// 多个档案放入同一位置
        ///// </summary>
        ///// <param name="arvs"></param>
        //public int InputToCab(List<ArchiveInfoDto> arvs, ArvLocationDto locDto)
        //{
        //    return this.Invoker.Invoke<int>(q => q.InputToCab(arvs, locDto));
        //}

        /// <summary>
        /// 更新档案信息
        /// </summary>
        /// <param name="arv">档案实体</param>
        /// <returns></returns>
        public int UpdateArvInfo(ArchiveInfoDto arvDto)
        {
            return(this.Invoker.Invoke <int>(q => q.UpdateArvInfo(arvDto)));
        }
Пример #28
0
 /// <summary>
 /// 删除档案
 /// </summary>
 /// <param name="arv">实体类型</param>
 /// <returns>操作是否成功</returns>
 public int Delete(ArchiveInfoDto arvDto)
 {
     return(this.Invoker.Invoke <int>(q => q.Delete(arvDto)));
 }
Пример #29
0
        /// <summary>
        /// 保存数据导入到数据库和表格中
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void toolSave_Click(object sender, EventArgs e)
        {
            gv.PostEditor();
            gv.CloseEditor();
            if (gv.SelectedRowsCount == 0)
            {
                MessageUtil.ShowWarning("请选择导入条目!");
                return;
            }
            successTable.Rows.Clear();
            failureTable.Rows.Clear();

            List <ArchiveInfoDto> importedArvList = new List <ArchiveInfoDto>();

            // 将表格中的数据导入数据库中
            if (gv.DataSource != null)
            {
                // 设置列对应的数据库表字段名
                foreach (GridColumn col in gv.Columns)
                {
                    //  从属性类中读取字段对应的显示名
                    List <FieldCfgDto> arvField = PropertyHelper.FieldCfgItems.Where <FieldCfgDto>(item => item.FieldShowName == col.FieldName).ToList <FieldCfgDto>();

                    if (arvField.Count == 1)
                    {
                        col.Name = arvField[0].FieldShowName;
                        col.Tag  = true;                   // 指示该列是要写入数据库的信息
                    }
                    else
                    {
                        col.Tag = false;
                    }
                }

                loading.ShowWaitForm();//数据多时界面可能会有卡顿

                // 遍历所有行
                //for (int i = 0; i < gv.RowCount; i++)
                int[] toDelete = gv.GetSelectedRows().Reverse().ToArray();
                //List<ArchiveInfoDto> infos=new List<ArchiveInfoDto>();
                foreach (int i in toDelete)
                {
                    // 当前行对象转化为类实例
                    //ArchiveInfoDto info = GridControlHelper.Instance.ConvertDataRowToObject<ArchiveInfoDto>(gv, i);
                    ArchiveInfoDto info = (ArchiveInfoDto)gv.GetRow(i);//单条保存,如果多条保存出错全部回滚不合理
                    info.ArvStatus = "在档";

                    try
                    {
                        // 记录写入数据库
                        CallerFactory.Instance.GetService <IArvOpService>().InToStorage(info);
                        // 加入写入成功的数据表
                        successTable.Rows.Add(gv.GetDataRow(i).ItemArray);
                        tbImport.Rows.RemoveAt(i);//成功写入的记录从表中移除
                        importedArvList.Add(info);
                    }
                    catch (Exception)
                    {
                        // 加入写入失败的数据表
                        failureTable.Rows.Add(gv.GetDataRow(i).ItemArray);
                    }
                }
                gc.RefreshDataSource();

                OnGetImportArchives(importedArvList);

                // 显示导入结果的对话框
                FormPBExcelShow frmPBExcelShow = new FormPBExcelShow();

                frmPBExcelShow.sCount           = successTable.Rows.Count;
                frmPBExcelShow.xCount           = failureTable.Rows.Count;
                frmPBExcelShow.Tb_ImportFailure = failureTable;

                frmPBExcelShow.ShowDialog();
            }
            else
            {
                MessageUtil.ShowTips("没有数据可以导入");
            }
        }
Пример #30
0
        private void FormArvInfo_Load(object sender, EventArgs e)
        {
            // 设置按键属性
            ConfigButtonProperty(this.Tag.ToString());

            #region 设置标签、文本框和下拉框属性

            // 遍历档案字段控件
            foreach (Control cn in this.gbxArvInfo.Controls)
            {
                // 控件的Tag属性为空,表示不需要配置
                if (cn.Tag == null)
                {
                    continue;
                }

                // 设置Label控件的显示名称和是否可用
                if (cn.GetType() == typeof(Label))
                {
                    // 配置标签属性
                    ConfigLabelProperty(cn);
                }

                // 设置TextBox控件是否可用
                if (cn.GetType() == typeof(DevExpress.XtraEditors.TextEdit))
                {
                    // 配置文本框属性
                    ConfigTextBoxProperty(cn);
                }

                // 设置ComboBox控件是否可用,并设置可配置ComboBox控件的下拉明细
                if (cn.GetType() == typeof(DevExpress.XtraEditors.ComboBoxEdit))
                {
                    // 配置下拉列表框属性
                    ConfigComboBoxProperty(cn);
                }

                // 年度信息
                if (cbxArvType.Enabled)
                {
                    int curYear = DateTime.Now.Year;
                    // 年度信息加入列表框
                    cbxArvYear.Properties.Items.Clear();
                    for (int i = 0; i < (curYear - 1949); i++)
                    {
                        cbxArvYear.Properties.Items.Add(Convert.ToString(curYear - i));
                    }
                }
            }

            #endregion

            if (this.Tag.ToString() == "EDIT")
            {
                // 当前选中的档案信息
                arvCurrent = arvInfoList[0];
                // 加载档案信息
                LoadArvInfo(arvCurrent);
                // 档案编号为只读属性,不能修改
                txtArvID.Properties.ReadOnly = true;
            }
        }