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); } }
/// <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; } } }