//初始化
        private void Init()
        {
            dgvQData.MultiSelect = false;    //不允许多选操作
            SetUCBaseFuncationVisible();
            #region 初始化时间控件值
            dtpCBSTime.Value = DateTime.Now.AddMonths(-1);
            dtpCBETime.Value = DateTime.Now.AddDays(+1);
            #endregion

            #region 初始化下拉框数据绑定
            CommonCtrl.BindComboBoxByDictionarr(cboCBType, "sys_callback_type", true);    //绑定回访类型
            CommonCtrl.BindComboBoxByDictionarr(cboCBMode, "sys_callback_mode", true);    //绑定回访方式
            #endregion

            #region 注册功能按钮事件
            #region 清除查询条件
            btnClear.Click += delegate 
            {
                txtCBTitle.Caption = String.Empty;
                cboCBType.SelectedValue = String.Empty;
                cboCBMode.SelectedValue = String.Empty;
                dtpCBSTime.Value = DateTime.Now.AddMonths(-1);
                dtpCBETime.Value = DateTime.Now.AddDays(1);
                txtCustomerName.Text = String.Empty;
                txtCustomerName.Tag = String.Empty;
                txtCBPerson.Text = String.Empty;
            };
            #endregion

            #region 查询
            btnQuery.Click += delegate
            {
                BindPageData();
            };
            #endregion

            #region 选择客户信息
            txtCustomerName.ChooserClick += delegate 
            {
                var frmCustomer = new frmCustomerInfo();
                var result = frmCustomer.ShowDialog();
                if (result == DialogResult.OK)
                {
                    txtCustomerName.Text = frmCustomer.strCustomerName;
                    txtCustomerName.Tag = frmCustomer.strCustomerId;
                }
            };
            #endregion
             
            #region 选择回访人
            txtCBPerson.ChooserClick += delegate
            {
                var frmContacts= new frmContacts();
                var result = frmContacts.ShowDialog();
                if (result == DialogResult.OK)
                {
                    txtCBPerson.Text = frmContacts.contName;
                    txtCBPerson.Tag = frmContacts.contID;
                }
            };
            #endregion

            #region 数据翻页
            pageQ.PageIndexChanged += delegate
            {
                BindPageData();
            };
            #endregion

            #region 数据表数据选择
            dgvQData.CellDoubleClick += delegate(object sender, DataGridViewCellEventArgs args)
            {
                if (args.ColumnIndex <= 0) return;
                var uc = new UCCallBackAddOrEdit {OpType = WindowStatus.View, UCCallBackManager = this};
                var selectedData = dgvQData.SelectedRows[0];
                uc.CallBackId = selectedData.Cells["drtxt_Callback_id"].Value.ToString();
                var callbackInfo = DBHelper.GetTable("查询回访信息", "tb_CustomerSer_Callback", "*",
                    "Callback_id = '" + uc.CallBackId + "'", "",
                    "");
                if (callbackInfo != null && callbackInfo.DefaultView.Count != 0)
                {
                    uc.CustId = callbackInfo.DefaultView[0]["Callback_corp"].ToString();
                    uc.ContId = callbackInfo.DefaultView[0]["Callback_by"].ToString();
                    uc.HandleId = callbackInfo.DefaultView[0]["handle_name"].ToString();
                }
                uc.addUserControl(uc, "客户回访-预览", "UCCallBackView", Tag.ToString(), Name);
            };
            #endregion

            #region 数据表格数据格式化
            dgvQData.CellFormatting += delegate(object sender, DataGridViewCellFormattingEventArgs args)
            {
                UIAssistants.DgvCellDataConvert2Table(dgvQData, args, "Callback_by", "tb_contacts", "cont_id", "cont_name");
                UIAssistants.DgvCellDataConvert2Table(dgvQData, args, "handle_name", "sys_user", "user_id", "user_name");
                UIAssistants.DgvCellDataConvert2Table(dgvQData, args, "Callback_corp", "tb_customer", "cust_id", "cust_name");
                UIAssistants.DgvCellDataConvert2Datetime(dgvQData, args, "Callback_time");
                UIAssistants.DgvCellDataConvert2DicData(dgvQData, args, "Callback_type");    //访问类型
                UIAssistants.DgvCellDataConvert2DicData(dgvQData, args, "Callback_mode");    //访问形式
                UIAssistants.DgvCellDataConvert2DicData(dgvQData, args, "status");    //状态

            };
            #endregion

            #region 新增数据
            AddEvent += delegate
            {
                var uc = new UCCallBackAddOrEdit();
                uc.UCCallBackManager = this;
                uc.OpType = WindowStatus.Add;
                uc.addUserControl(uc, "客户回访-新增", "UCCallBackAdd", Tag.ToString(), Name);
            };
            #endregion

            #region 编辑数据
            EditEvent += delegate
            {
                if (dgvQData.SelectedRows.Count > 0)
                {
                    var uc = new UCCallBackAddOrEdit();
                    uc.OpType = WindowStatus.Edit;
                    uc.UCCallBackManager = this;
                    var selectedData = dgvQData.SelectedRows[0];
                    uc.CallBackId = selectedData.Cells["drtxt_Callback_id"].Value.ToString();
                    var callbackInfo = DBHelper.GetTable("查询回访信息", "tb_CustomerSer_Callback", "*",
                        "Callback_id = '" + uc.CallBackId + "'", "",
                        "");
                    if (callbackInfo != null && callbackInfo.DefaultView.Count != 0)
                    {
                        uc.CustId = callbackInfo.DefaultView[0]["Callback_corp"].ToString();
                        uc.ContId = callbackInfo.DefaultView[0]["Callback_by"].ToString();
                        uc.HandleId = callbackInfo.DefaultView[0]["handle_name"].ToString();
                    }
                    uc.addUserControl(uc, "客户回访-编辑", "UCCallBackEdit", Tag.ToString(), Name);
                }
            };
            #endregion

            #region 删除数据
            DeleteEvent += delegate
            {
                try
                {
                    if (dgvQData.SelectedRows.Count == 0)
                    {
                        MessageBoxEx.Show("请选择删除记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                    var listField = (from DataGridViewRow selectedRow in dgvQData.SelectedRows select selectedRow.Cells["drtxt_Callback_id"].Value.ToString()).ToList();
                    
                    var result = MessageBoxEx.Show("此操作将永久删除选定信息。\n若要继续,请单击“确定”。", "您确认要删除此条信息吗?", MessageBoxButtons.OKCancel,
                    MessageBoxIcon.Warning);
                    if (result == DialogResult.OK)
                    {
                        var flag = DBHelper.BatchDeleteDataByWhere("删除客户回访信息", "tb_CustomerSer_Callback", String.Format("Callback_id = '{0}'", listField[0]));
                        if (flag)
                        {
                            BindPageData();
                            MessageBoxEx.Show("删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            BindPageData();
                        }
                        else
                        {
                            MessageBoxEx.Show("删除失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBoxEx.Show("删除失败!" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            };
            #endregion

            #region 启用/禁用
            StatusEvent += delegate
            {
                if (dgvQData.SelectedRows.Count > 0)
                {
                    var dataView = GetSelectedRowData();
                    var listField = GetCheckRows();
                    if (listField.Count >= 1)
                    {
                        if (MessageBoxEx.Show("确认要" + btnStatus.Caption + "吗?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK)
                        {
                            return;
                        }
                        var flag = false;
                        foreach (DataRowView view in dataView)
                        {
                            var status = CommonCtrl.IsNullToString(view[drtxt_status.DataPropertyName]);
                            flag = DBHelper.Submit_AddOrEdit("启用/停用客户回访记录", "tb_CustomerSer_Callback", "Callback_id",
                                CommonCtrl.IsNullToString(view[drtxt_Callback_id.DataPropertyName]),
                                new Dictionary<string, string>
                                {
                                    {
                                        "status",
                                        status == DbDic2Enum.SYS_DATA_STATUS_QI
                                            ? DbDic2Enum.SYS_DATA_STATUS_JIN
                                            : DbDic2Enum.SYS_DATA_STATUS_QI
                                    },
                                    {
                                        "update_by", GlobalStaticObj.UserID
                                    },
                                    {
                                        "update_time",
                                        Common.LocalDateTimeToUtcLong(GlobalStaticObj.CurrentDateTime).ToString()
                                    }
                                });
                        }
                        MessageBoxEx.Show(btnStatus.Caption + (flag ? "成功!" : "失败!"), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        BindPageData();
                    }
                }
            };
            #endregion

            #region 根据选择的数据判断功能按钮的显示状态
            dgvQData.CellMouseUp += delegate
            {
                var dataView = GetSelectedRowData();
                var listField = GetCheckRows();
                btnStatus.Enabled = false;
                btnEdit.Enabled = false;
                btnDelete.Enabled = false;
                if (dataView == null || listField.Count == 0)
                {

                }
                else
                {
                    #region 编辑
                    if (listField.Count == 1)
                    {
                        btnEdit.Enabled = true;
                        btnDelete.Enabled = true;
                    }
                    #endregion

                    #region 启用/禁用
                    var qy = 0;
                    var jy = 0;
                    foreach (DataRowView rowView in dataView)   //启用/禁用
                    {
                        if (rowView["status"].ToString() == DbDic2Enum.SYS_DATA_STATUS_QI)
                        {
                            qy++;
                        }
                        else if (rowView["status"].ToString() == DbDic2Enum.SYS_DATA_STATUS_JIN)
                        {
                            jy++;
                        }
                    }
                    if (qy == 0 && jy != 0)
                    {
                        btnStatus.Enabled = true;
                        btnStatus.Caption = "启用";
                        btnStatus.Width = 60;
                    }
                    else if (qy != 0 && jy == 0)
                    {
                        btnStatus.Enabled = true;
                        btnStatus.Caption = "禁用";
                        btnStatus.Width = 60;
                    }
                    else
                    {
                        btnStatus.Enabled = false;
                        btnStatus.Caption = "启用/禁用";
                        btnStatus.Width = 90;
                    }
                    #endregion
                }
            };
            #endregion

            #endregion

            BindPageData();
        }
Esempio n. 2
0
        //初始化
        private void Init()
        {
            dgvQData.MultiSelect = false;    //不允许多选操作
            SetUCBaseFuncationVisible();
            #region 初始化时间控件值
            dtpCBSTime.Value = DateTime.Now.AddMonths(-1);
            dtpCBETime.Value = DateTime.Now.AddDays(+1);
            #endregion

            #region 初始化下拉框数据绑定
            CommonCtrl.BindComboBoxByDictionarr(cboCBType, "sys_callback_type", true);    //绑定回访类型
            CommonCtrl.BindComboBoxByDictionarr(cboCBMode, "sys_callback_mode", true);    //绑定回访方式
            #endregion

            #region 注册功能按钮事件
            #region 清除查询条件
            btnClear.Click += delegate
            {
                txtCBTitle.Caption      = String.Empty;
                cboCBType.SelectedValue = String.Empty;
                cboCBMode.SelectedValue = String.Empty;
                dtpCBSTime.Value        = DateTime.Now.AddMonths(-1);
                dtpCBETime.Value        = DateTime.Now.AddDays(1);
                txtCustomerName.Text    = String.Empty;
                txtCustomerName.Tag     = String.Empty;
                txtCBPerson.Text        = String.Empty;
            };
            #endregion

            #region 查询
            btnQuery.Click += delegate
            {
                BindPageData();
            };
            #endregion

            #region  择客户信息
            txtCustomerName.ChooserClick += delegate
            {
                var frmCustomer = new frmCustomerInfo();
                var result      = frmCustomer.ShowDialog();
                if (result == DialogResult.OK)
                {
                    txtCustomerName.Text = frmCustomer.strCustomerName;
                    txtCustomerName.Tag  = frmCustomer.strCustomerId;
                }
            };
            #endregion

            #region  择回访人
            txtCBPerson.ChooserClick += delegate
            {
                var frmContacts = new frmContacts();
                var result      = frmContacts.ShowDialog();
                if (result == DialogResult.OK)
                {
                    txtCBPerson.Text = frmContacts.contName;
                    txtCBPerson.Tag  = frmContacts.contID;
                }
            };
            #endregion

            #region 数据翻页
            pageQ.PageIndexChanged += delegate
            {
                BindPageData();
            };
            #endregion

            #region 数据表数据选择
            dgvQData.CellDoubleClick += delegate(object sender, DataGridViewCellEventArgs args)
            {
                if (args.ColumnIndex <= 0)
                {
                    return;
                }
                var uc = new UCCallBackAddOrEdit {
                    OpType = WindowStatus.View, UCCallBackManager = this
                };
                var selectedData = dgvQData.SelectedRows[0];
                uc.CallBackId = selectedData.Cells["drtxt_Callback_id"].Value.ToString();
                var callbackInfo = DBHelper.GetTable("查询回访信息", "tb_CustomerSer_Callback", "*",
                                                     "Callback_id = '" + uc.CallBackId + "'", "",
                                                     "");
                if (callbackInfo != null && callbackInfo.DefaultView.Count != 0)
                {
                    uc.CustId   = callbackInfo.DefaultView[0]["Callback_corp"].ToString();
                    uc.ContId   = callbackInfo.DefaultView[0]["Callback_by"].ToString();
                    uc.HandleId = callbackInfo.DefaultView[0]["handle_name"].ToString();
                }
                uc.addUserControl(uc, "客户回访-预览", "UCCallBackView", Tag.ToString(), Name);
            };
            #endregion

            #region 数据表格数据格式化
            dgvQData.CellFormatting += delegate(object sender, DataGridViewCellFormattingEventArgs args)
            {
                UIAssistants.DgvCellDataConvert2Table(dgvQData, args, "Callback_by", "tb_contacts", "cont_id", "cont_name");
                UIAssistants.DgvCellDataConvert2Table(dgvQData, args, "handle_name", "sys_user", "user_id", "user_name");
                UIAssistants.DgvCellDataConvert2Table(dgvQData, args, "Callback_corp", "tb_customer", "cust_id", "cust_name");
                UIAssistants.DgvCellDataConvert2Datetime(dgvQData, args, "Callback_time");
                UIAssistants.DgvCellDataConvert2DicData(dgvQData, args, "Callback_type"); //访问类型
                UIAssistants.DgvCellDataConvert2DicData(dgvQData, args, "Callback_mode"); //访问形式
                UIAssistants.DgvCellDataConvert2DicData(dgvQData, args, "status");        //状态
            };
            #endregion

            #region 新增数据
            AddEvent += delegate
            {
                var uc = new UCCallBackAddOrEdit();
                uc.UCCallBackManager = this;
                uc.OpType            = WindowStatus.Add;
                uc.addUserControl(uc, "客户回访-新增", "UCCallBackAdd", Tag.ToString(), Name);
            };
            #endregion

            #region 编辑数据
            EditEvent += delegate
            {
                if (dgvQData.SelectedRows.Count > 0)
                {
                    var uc = new UCCallBackAddOrEdit();
                    uc.OpType            = WindowStatus.Edit;
                    uc.UCCallBackManager = this;
                    var selectedData = dgvQData.SelectedRows[0];
                    uc.CallBackId = selectedData.Cells["drtxt_Callback_id"].Value.ToString();
                    var callbackInfo = DBHelper.GetTable("查询回访信息", "tb_CustomerSer_Callback", "*",
                                                         "Callback_id = '" + uc.CallBackId + "'", "",
                                                         "");
                    if (callbackInfo != null && callbackInfo.DefaultView.Count != 0)
                    {
                        uc.CustId   = callbackInfo.DefaultView[0]["Callback_corp"].ToString();
                        uc.ContId   = callbackInfo.DefaultView[0]["Callback_by"].ToString();
                        uc.HandleId = callbackInfo.DefaultView[0]["handle_name"].ToString();
                    }
                    uc.addUserControl(uc, "客户回访-编辑", "UCCallBackEdit", Tag.ToString(), Name);
                }
            };
            #endregion

            #region  除数据
            DeleteEvent += delegate
            {
                try
                {
                    if (dgvQData.SelectedRows.Count == 0)
                    {
                        MessageBoxEx.Show("请选择删除记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                    var listField = (from DataGridViewRow selectedRow in dgvQData.SelectedRows select selectedRow.Cells["drtxt_Callback_id"].Value.ToString()).ToList();

                    var result = MessageBoxEx.Show("此操作将永久删除选定信息。\n若要继续,请单击“确定”。", "您确认要删除此条信息吗?", MessageBoxButtons.OKCancel,
                                                   MessageBoxIcon.Warning);
                    if (result == DialogResult.OK)
                    {
                        var flag = DBHelper.BatchDeleteDataByWhere("删除客户回访信息", "tb_CustomerSer_Callback", String.Format("Callback_id = '{0}'", listField[0]));
                        if (flag)
                        {
                            BindPageData();
                            MessageBoxEx.Show("删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            BindPageData();
                        }
                        else
                        {
                            MessageBoxEx.Show("删除失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBoxEx.Show("删除失败!" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            };
            #endregion

            #region 启用/禁用
            StatusEvent += delegate
            {
                if (dgvQData.SelectedRows.Count > 0)
                {
                    var dataView  = GetSelectedRowData();
                    var listField = GetCheckRows();
                    if (listField.Count >= 1)
                    {
                        if (MessageBoxEx.Show("确认要" + btnStatus.Caption + "吗?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK)
                        {
                            return;
                        }
                        var flag = false;
                        foreach (DataRowView view in dataView)
                        {
                            var status = CommonCtrl.IsNullToString(view[drtxt_status.DataPropertyName]);
                            flag = DBHelper.Submit_AddOrEdit("启用/停用客户回访记录", "tb_CustomerSer_Callback", "Callback_id",
                                                             CommonCtrl.IsNullToString(view[drtxt_Callback_id.DataPropertyName]),
                                                             new Dictionary <string, string>
                            {
                                {
                                    "status",
                                    status == DbDic2Enum.SYS_DATA_STATUS_QI
                                            ? DbDic2Enum.SYS_DATA_STATUS_JIN
                                            : DbDic2Enum.SYS_DATA_STATUS_QI
                                },
                                {
                                    "update_by", GlobalStaticObj.UserID
                                },
                                {
                                    "update_time",
                                    Common.LocalDateTimeToUtcLong(GlobalStaticObj.CurrentDateTime).ToString()
                                }
                            });
                        }
                        MessageBoxEx.Show(btnStatus.Caption + (flag ? "成功!" : "失败!"), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        BindPageData();
                    }
                }
            };
            #endregion

            #region 根据选择的数据判断功能按钮的显示状态
            dgvQData.CellMouseUp += delegate
            {
                var dataView  = GetSelectedRowData();
                var listField = GetCheckRows();
                btnStatus.Enabled = false;
                btnEdit.Enabled   = false;
                btnDelete.Enabled = false;
                if (dataView == null || listField.Count == 0)
                {
                }
                else
                {
                    #region 编辑
                    if (listField.Count == 1)
                    {
                        btnEdit.Enabled   = true;
                        btnDelete.Enabled = true;
                    }
                    #endregion

                    #region 启用/禁用
                    var qy = 0;
                    var jy = 0;
                    foreach (DataRowView rowView in dataView)   //启用/禁用
                    {
                        if (rowView["status"].ToString() == DbDic2Enum.SYS_DATA_STATUS_QI)
                        {
                            qy++;
                        }
                        else if (rowView["status"].ToString() == DbDic2Enum.SYS_DATA_STATUS_JIN)
                        {
                            jy++;
                        }
                    }
                    if (qy == 0 && jy != 0)
                    {
                        btnStatus.Enabled = true;
                        btnStatus.Caption = "启用";
                        btnStatus.Width   = 60;
                    }
                    else if (qy != 0 && jy == 0)
                    {
                        btnStatus.Enabled = true;
                        btnStatus.Caption = "禁用";
                        btnStatus.Width   = 60;
                    }
                    else
                    {
                        btnStatus.Enabled = false;
                        btnStatus.Caption = "启用/禁用";
                        btnStatus.Width   = 90;
                    }
                    #endregion
                }
            };
            #endregion

            #endregion

            BindPageData();
        }