private void btnFind_Click(object sender, EventArgs e)
        {
            CustomDataGridView dgv = GetDataGridView(tabControl1.SelectedTab);

            if (dgv.CurrentRow == null)
            {
                return;
            }

            object obj = SetFlowInfo_BillNo(dgv as DataGridView, "业务编号");

            if (tabControl1.SelectedTab.Text == "待处理")
            {
                FormCommonProcess frm = new FormCommonProcess(_Enum_BillType, cmbVersion.Text, obj as CustomFlowForm, CE_OperatorMode.编辑);
                SetFormBusinessInfo(dgv as DataGridView, CE_OperatorMode.编辑, _Enum_BillType, "业务编号", ref frm);
                frm.CommonProcessSubmit += new FormCommonProcess.FormSubmit(frm_CommonProcessSubmit);
                m_operationType          = CE_FlowOperationType.未知;

                if (frm.ShowDialog() == DialogResult.OK)
                {
                    SendMessage();
                }
            }
            else
            {
                FormCommonProcess frm = new FormCommonProcess(_Enum_BillType, cmbVersion.Text, obj as CustomFlowForm, CE_OperatorMode.查看);
                SetFormBusinessInfo(dgv as DataGridView, CE_OperatorMode.查看, _Enum_BillType, "业务编号", ref frm);
                frm.ShowDialog();
            }

            RefreshData(tabControl1.SelectedTab);
            PositioningRecord(GetFlowInfo_BillNo(obj));
        }
        void CustomMainForm_CellEnter(object sender, DataGridViewCellEventArgs e)
        {
            CustomDataGridView dgv = sender as CustomDataGridView;

            if (dgv != null && dgv.CurrentRow != null)
            {
                this.m_billNo = dgv.CurrentRow.Cells["业务编号"].Value.ToString();
            }
        }
        /// <summary>
        /// 重新窗体消息处理函数
        /// </summary>
        /// <param name="m">窗体消息</param>
        protected override void DefWndProc(ref Message m)
        {
            switch (m.Msg)
            {
            //接收自定义消息,放弃未提交的单据号
            case WndMsgSender.CloseMsg:
                // 放弃未使用的单据号
                m_billNoControl.CancelBill();
                break;

            case WndMsgSender.PositioningMsg:
                WndMsgData msg      = new WndMsgData();     //这是创建自定义信息的结构
                Type       dataType = msg.GetType();

                msg = (WndMsgData)m.GetLParam(dataType);    //这里获取的就是作为LParam参数发送来的信息的结构

                DataTable dtMessage = UniversalFunction.PositioningOneRecord(msg.MessageContent, _Enum_BillType.ToString());

                if (dtMessage == null || dtMessage.Rows.Count == 0)
                {
                    //m_billMessageServer.DestroyMessage(msg.MessageContent);
                    MessageDialog.ShowPromptMessage("未找到相关记录");
                }
                else
                {
                    tabControl1.SelectedTab = tabControl1.TabPages[0];

                    CustomDataGridView dgv = GetDataGridView(tabControl1.SelectedTab);

                    dgv.DataSource = _ServiceFlow.ShowBusinessAllInfo(_Enum_BillType, cmbVersion.Text, new string[] { "全部" },
                                                                      checkBillDateAndStatus1.dtpStartTime.Value, checkBillDateAndStatus1.dtpEndTime.Value, tabControl1.SelectedTab.Text, msg.MessageContent);

                    Flow_BusinessInfo bussinessInfo = _ServiceFlow.GetBusinessInfo(_Enum_BillType, cmbVersion.Text);

                    foreach (DataGridViewColumn dgvc in dgv.Columns)
                    {
                        if (dgvc.HeaderText == bussinessInfo.KeysName)
                        {
                            dgvc.Visible = false;
                        }
                    }

                    dgv.Rows[0].Selected = true;
                }

                break;

            default:
                base.DefWndProc(ref m);
                break;
            }
        }
        /// <summary>
        /// 获得当前CustomDataGridView
        /// </summary>
        /// <param name="tp">tabPage</param>
        /// <returns>返回DataGridView</returns>
        CustomDataGridView GetDataGridView(TabPage tp)
        {
            CustomDataGridView dgv = new CustomDataGridView();

            foreach (Control cl in tp.Controls)
            {
                if (cl is DataGridView)
                {
                    dgv = cl as CustomDataGridView;
                }
            }

            m_selectDataGridView = dgv;

            return(dgv);
        }
        private void btnDelete_Click(object sender, EventArgs e)
        {
            try
            {
                CustomDataGridView dgv     = GetDataGridView(tabControl1.SelectedTab);
                string             tempStr = dgv.CurrentRow.Cells["业务编号"].Value.ToString();

                if (MessageDialog.ShowEnquiryMessage("您确定要删除【" + tempStr + "】号业务单据吗?") == DialogResult.Yes)
                {
                    _BusinessService.DeleteInfo(tempStr);
                    MessageDialog.ShowPromptMessage("删除成功");
                    m_billMessageServer.DestroyMessage(tempStr);
                }

                RefreshData(tabControl1.SelectedTab);
            }
            catch (Exception ex)
            {
                MessageDialog.ShowPromptMessage(ex.Message);
            }
        }
Esempio n. 6
0
        /// <summary>
        /// Called by the <i>filter manager</i>, inits the <i>column filter</i> and raises the FilterInitializing event.
        /// </summary>
        /// <param name="FilterManager">The <i>filter manager</i>.</param>
        /// <param name="FilterHost">The filter host.</param>
        /// <param name="gridColumn">The DataGridView column.</param>
        /// <param name="boundDataView">The bound data view.</param>
        public void Init(CustomDataGridView customDataGridView, DataView dataView, int columnIndex)
        {
            this._DataGridView       = customDataGridView;
            this.mBoundDataView      = dataView;
            this.mDataGridViewColumn = customDataGridView.Columns[columnIndex];
            this.mOriginalDataGridViewColumnHeaderText = customDataGridView.Columns[columnIndex].HeaderText;

            if (dataView.Table != null &&
                customDataGridView.Columns[columnIndex].DataPropertyName != "")
            {
                this.mColumnDataType = dataView.Table.Columns[customDataGridView.Columns[columnIndex].DataPropertyName].DataType;
            }
            else
            {
                this.mColumnDataType = typeof(string);
            }

            customDataGridView.FilterHost.FilterClientArea.Controls.Add(this);
            customDataGridView.FilterHost.Location = new System.Drawing.Point(0, 0);
            this.Visible = false;
            CancelEventArgs e = new CancelEventArgs(false);

            OnFilterInitializing(this, e);
        }
        /// <summary>
        /// 定位记录
        /// </summary>
        /// <param name="billNo">定位用的单据号</param>
        public void PositioningRecord(string billNo)
        {
            string             strColName = "";
            CustomDataGridView dgv        = GetDataGridView(tabControl1.SelectedTab);

            foreach (DataGridViewColumn col in dgv.Columns)
            {
                if (col.Visible)
                {
                    strColName = col.Name;
                    break;
                }
            }

            for (int i = 0; i < dgv.Rows.Count; i++)
            {
                if ((string)dgv.Rows[i].Cells["业务编号"].Value == billNo)
                {
                    dgv.FirstDisplayedScrollingRowIndex = i;
                    dgv.CurrentCell = dgv.Rows[i].Cells[strColName];
                    break;
                }
            }
        }