Example #1
0
        private void FuncationRegiste() //事件注册
        {
            #region 数据表数据选择
            //单元格数据转换
            dgv_table.CellFormatting += (sender, args) => ConvertDataGridColumnsData(args);
            //数据行双击事件
            dgv_table.CellDoubleClick += delegate(object sender, DataGridViewCellEventArgs e)
            {
                try
                {
                    if (e.RowIndex < 0)
                    {
                        return;
                    }
                    var value = dgv_table.Rows[e.RowIndex].Cells[cust_id.Name].Value;
                    if (value == null)
                    {
                        return;
                    }
                    var id             = value.ToString();
                    var ucCustomerView = new UCCustomerViews
                    {
                        Id = id,
                        UCCustomerManager = this
                    };
                    addUserControl(ucCustomerView, "客户详细信息", "UCCustomerViews" + id, Tag.ToString(), Name);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            #endregion

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

            #region 清除按钮事件
            btn_clear.Click += delegate
            {
                try
                {
                    UIAssistants.ClearQueryControlValue(pnl_query);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            #endregion

            #region 查询
            btn_query.Click += (sender, args) =>
            {
                pageQ.PageIndex   = 1;
                pageQ.RecordCount = 0;
                BindPageData();
            };
            #endregion

            #region 新增
            btnAdd.Click += delegate
            {
                try
                {
                    var ucCustomerAddOrEdit = new UCCustomerAddOrEdit {
                        UCCustomerManager = this, windowStatus = WindowStatus.Add
                    };
                    addUserControl(ucCustomerAddOrEdit, "客户信息新增", "UCCustomerAddOrEdit-Add", Tag.ToString(), Name);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            #endregion

            #region  制
            btnCopy.Click += delegate
            {
                try
                {
                    var id       = "";
                    var dataView = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id, TableName);
                    if (dataView == null)
                    {
                        return;
                    }
                    foreach (DataRowView rowView in dataView)
                    {
                        id = rowView["cust_id"].ToString();
                        break;
                    }
                    var ucCustomerAddOrEdit = new UCCustomerAddOrEdit
                    {
                        UCCustomerManager = this,
                        windowStatus      = WindowStatus.Copy,
                        Id = id
                    };
                    addUserControl(ucCustomerAddOrEdit, "客户信息拷贝", "UCCustomerAddOrEdit-Copy" + ucCustomerAddOrEdit.Id, Tag.ToString(), Name);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            #endregion

            #region 编辑
            btnEdit.Click += delegate
            {
                try
                {
                    var id       = "";
                    var dataView = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id, TableName);
                    if (dataView == null)
                    {
                        return;
                    }
                    foreach (DataRowView rowView in dataView)
                    {
                        id = rowView["cust_id"].ToString();
                        break;
                    }
                    var ucCustomerAddOrEdit = new UCCustomerAddOrEdit
                    {
                        UCCustomerManager = this,
                        windowStatus      = WindowStatus.Edit,
                        Id = id
                    };
                    addUserControl(ucCustomerAddOrEdit, "客户信息编辑", "UCCustomerAddOrEdit-Edit" + ucCustomerAddOrEdit.Id, Tag.ToString(), Name);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            #endregion

            #region  除
            btnDelete.Click += delegate
            {
                try
                {
                    var selectedRows = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id);
                    if (selectedRows.Count == 0)
                    {
                        MessageBoxEx.Show("请选择删除记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                    if (MessageBoxEx.Show("确认要删除吗?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK)
                    {
                        return;
                    }
                    //var comField = new Dictionary<string, string> { { "enable_flag", "0" } };
                    //flag = DBHelper.BatchUpdateDataByIn("删除三包服务单", TableName, comField, "tg_id", selectedRows.ToArray());
                    var comField = new Dictionary <string, string> {
                        { "enable_flag", "0" }
                    };
                    var flag = DBHelper.BatchUpdateDataByIn("批量删除客户档案", "tb_customer", comField, "cust_id", selectedRows.ToArray());
                    foreach (var selectedRow in selectedRows)
                    {
                        var crmIdDt = DBHelper.GetTable("查询客户档案信息", "tb_customer", "cust_crm_guid",
                                                        String.Format("cust_id = '{0}'", selectedRow), "", "");
                        if (crmIdDt != null && crmIdDt.Rows.Count == 1)
                        {
                            DBHelper.WebServHandler("删除客户档案", EnumWebServFunName.UpLoadCustomer,
                                                    new tb_customer {
                                cust_crm_guid = CommonCtrl.IsNullToString(crmIdDt.Rows[0][0]), status = "0"
                            });
                        }
                    }
                    if (flag)
                    {
                        BindPageData();
                        if (dgv_table.Rows.Count > 0)
                        {
                            dgv_table.CurrentCell = dgv_table.Rows[0].Cells[0];
                        }
                        MessageBoxEx.Show("删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBoxEx.Show("删除失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                    MessageBoxEx.Show("删除失败!" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            };
            #endregion

            #region 省市区联动
            cboprovince.SelectedIndexChanged += delegate
            {
                try
                {
                    if (!string.IsNullOrEmpty(cboprovince.SelectedValue.ToString()))
                    {
                        CommonFuncCall.BindCityComBox(cbocity, cboprovince.SelectedValue.ToString(), "市");
                        CommonFuncCall.BindCountryComBox(cbocounty, cbocity.SelectedValue.ToString(), "区/县");
                    }
                    else
                    {
                        CommonFuncCall.BindCityComBox(cbocity, "", "市");
                        CommonFuncCall.BindCountryComBox(cbocounty, "", "区/县");
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            cbocity.SelectedIndexChanged += delegate
            {
                try
                {
                    if (!string.IsNullOrEmpty(cbocity.SelectedValue.ToString()))
                    {
                        CommonFuncCall.BindCountryComBox(cbocounty, cbocity.SelectedValue.ToString(), "区/县");
                    }
                    else
                    {
                        CommonFuncCall.BindCountryComBox(cbocounty, "", "区/县");
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            #endregion

            #region 启用停用事件
            StatusEvent += delegate
            {
                try
                {
                    var          listSql   = new List <SQLObj>();
                    const string opName    = "修改客户档案状态";
                    var          strStatus = Convert.ToInt16(_eStatus).ToString(CultureInfo.InvariantCulture);
                    string       msg;
                    if (_eStatus == DataSources.EnumStatus.Start) //启用
                    {
                        StatusSql(listSql, _tiList, strStatus);   //停用的ti_list改为启用
                        msg = "启用";
                    }
                    else//停用
                    {
                        StatusSql(listSql, _qiList, strStatus);//启用的qi_list 改为停用
                        msg = "停用";
                    }
                    if (MessageBoxEx.Show("确认要" + msg + "吗?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK)
                    {
                        return;
                    }
                    if (DBHelper.BatchExeSQLMultiByTrans(opName, listSql))
                    {
                        btnStatus.Enabled = false;
                        BindPageData();
                        MessageBoxEx.Show(msg + "成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBoxEx.Show(msg + "失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            #endregion

            #region 数据表格事件
            dgv_table.CellContentClick += delegate(object sender, DataGridViewCellEventArgs e)
            {
                try
                {
                    if (e.ColumnIndex != 0)
                    {
                        return;
                    }
                    _qiList.Clear();
                    _tiList.Clear();
                    _eStatus = new DataSources.EnumStatus();
                    foreach (DataGridViewRow row in dgv_table.Rows)
                    {
                        if (!Convert.ToBoolean(row.Cells[0].EditedFormattedValue))
                        {
                            continue;
                        }
                        if (row.Cells["status"].EditedFormattedValue.ToString() == DataSources.EnumStatus.Start.GetDescription()) //表格中是启用
                        {
                            _qiList.Add(row.Cells["cust_id"].EditedFormattedValue.ToString());
                        }
                        else//表格中是停用
                        {
                            _tiList.Add(row.Cells["cust_id"].EditedFormattedValue.ToString());
                        }
                    }
                    BtnStatus(_qiList, _tiList);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            dgv_table.HeadCheckChanged += delegate
            {
                try
                {
                    _qiList.Clear();
                    _tiList.Clear();
                    _eStatus = new DataSources.EnumStatus();
                    foreach (DataGridViewRow row in dgv_table.Rows)
                    {
                        if (Convert.ToBoolean(row.Cells[0].Value))
                        {
                            if (row.Cells["status"].Value.ToString() == DataSources.EnumStatus.Start.GetDescription())//表格中是启用
                            {
                                _qiList.Add(row.Cells["cust_id"].Value.ToString());
                            }
                            else//表格中是停用
                            {
                                _tiList.Add(row.Cells["cust_id"].Value.ToString());
                            }
                        }
                    }
                    BtnStatus(_qiList, _tiList);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            #endregion

            #region 根据选择的数据判断功能按钮的显示状态
            dgv_table.CellMouseUp += delegate
            {
                try
                {
                    var dataView = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id, TableName);
                    if (dataView == null)
                    {
                        btnCopy.Enabled   = false;
                        btnEdit.Enabled   = false;
                        btnDelete.Enabled = false;
                        return;
                    }
                    var isYt      = dataView.Cast <DataRowView>().Any(rowView => CommonCtrl.IsNullToString(rowView["data_source"]) == "2");
                    var listField = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id);
                    if (listField.Count == 0)
                    {
                        btnCopy.Enabled   = false;
                        btnEdit.Enabled   = false;
                        btnDelete.Enabled = false;
                    }
                    else
                    {
                        btnCopy.Enabled   = true;
                        btnEdit.Enabled   = true;
                        btnDelete.Enabled = true;
                    }
                    if (isYt)
                    {
                        btnEdit.Enabled   = false;
                        btnDelete.Enabled = false;
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            #endregion
        }
Example #2
0
        private void FuncationRegiste() //事件注册
        {
            #region 数据表数据选择
            //单元格数据转换
            dgv_table.CellFormatting += (sender, args) => ConvertDataGridColumnsData(args);
            //数据行双击事件
            dgv_table.CellDoubleClick += delegate(object sender, DataGridViewCellEventArgs e)
            {
                try
                {
                    if (e.RowIndex < 0)
                    {
                        return;
                    }
                    var value = dgv_table.Rows[e.RowIndex].Cells[cust_id.Name].Value;
                    if (value == null)
                    {
                        return;
                    }
                    var id             = value.ToString();
                    var ucCustomerView = new UCCustomerViews
                    {
                        Id = id,
                        UCCustomerManager = this
                    };
                    addUserControl(ucCustomerView, "客户详细信息", "UCCustomerViews" + id, Tag.ToString(), Name);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            //ViewEvent += delegate
            //{
            //    try
            //    {
            //        if (dgv_table.SelectedRows.Count != 1) return;
            //        var value =  dgv_table.SelectedRows[0].Cells[cust_id.Name].Value;
            //        if (value == null) return;
            //        var id = value.ToString();
            //        var ucCustomerView = new UCCustomerViews
            //        {
            //            Id = id,
            //            UCCustomerManager = this
            //        };
            //        addUserControl(ucCustomerView, "客户详细信息", "UCCustomerViews" + id, Tag.ToString(), Name);
            //    }
            //    catch (Exception ex)
            //    {
            //        LogService4Customer.WriteLog(1, ex);
            //    }
            //};
            #endregion

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

            #region 清除按钮事件
            btn_clear.Click += delegate
            {
                try
                {
                    UIAssistants.ClearQueryControlValue(pnl_query);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            #endregion

            #region 查询
            btn_query.Click += (sender, args) =>
            {
                pageQ.PageIndex   = 1;
                pageQ.RecordCount = 0;
                BindPageData();
            };
            #endregion

            #region 预览事件
            btnView.Click += delegate
            {
                businessPrint.Preview(dgv_table.GetBoundData());
            }
            ;
            #endregion

            #region 打印事件
            btnPrint.Click += delegate
            {
                businessPrint.Print(dgv_table.GetBoundData());
            };
            #endregion

            #region 设置事件
            btnSet.Click += delegate
            {
                businessPrint.PrintSet(dgv_table);
            }
            ;
            #endregion

            #region 导出事件
            btnExport.Click += delegate
            {
                if (this.dgv_table.Rows.Count == 0)
                {
                    return;
                }
                try
                {
                    string fileName = "客户档案" + DateTime.Now.ToString("yyyy-MM-dd") + ".xls";
                    ExcelHandler.ExportExcel(fileName, dgv_table);
                }
                catch (Exception ex)
                {
                    Utility.Log.Log.writeLineToLog("【客户档案】" + ex.Message, "server");
                    MessageBoxEx.ShowWarning("导出失败!");
                }
            };
            #endregion

            #region 新增
            btnAdd.Click += delegate
            {
                try
                {
                    var ucCustomerAddOrEdit = new UCCustomerAddOrEdit {
                        UCCustomerManager = this, windowStatus = WindowStatus.Add
                    };
                    addUserControl(ucCustomerAddOrEdit, "客户信息新增", "UCCustomerAddOrEdit-Add", Tag.ToString(), Name);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            #endregion

            #region  制
            btnCopy.Click += delegate
            {
                try
                {
                    var id       = "";
                    var dataView = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id, TableName);
                    if (dataView == null)
                    {
                        return;
                    }
                    foreach (DataRowView rowView in dataView)
                    {
                        id = rowView["cust_id"].ToString();
                        break;
                    }
                    var ucCustomerAddOrEdit = new UCCustomerAddOrEdit
                    {
                        UCCustomerManager = this,
                        windowStatus      = WindowStatus.Copy,
                        Id = id
                    };
                    addUserControl(ucCustomerAddOrEdit, "客户信息拷贝", "UCCustomerAddOrEdit-Copy" + ucCustomerAddOrEdit.Id, Tag.ToString(), Name);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            #endregion

            #region 编辑
            btnEdit.Click += delegate
            {
                try
                {
                    var id       = "";
                    var dataView = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id, TableName);
                    if (dataView == null)
                    {
                        return;
                    }
                    foreach (DataRowView rowView in dataView)
                    {
                        id = rowView["cust_id"].ToString();
                        break;
                    }
                    var ucCustomerAddOrEdit = new UCCustomerAddOrEdit
                    {
                        UCCustomerManager = this,
                        windowStatus      = WindowStatus.Edit,
                        Id = id
                    };
                    addUserControl(ucCustomerAddOrEdit, "客户信息编辑", "UCCustomerAddOrEdit-Edit" + ucCustomerAddOrEdit.Id, Tag.ToString(), Name);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            #endregion

            #region  除
            btnDelete.Click += delegate
            {
                try
                {
                    var selectedRows = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id);
                    if (selectedRows.Count == 0)
                    {
                        MessageBoxEx.Show("请选择删除记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                    if (MessageBoxEx.Show("确认要删除吗?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK)
                    {
                        return;
                    }
                    //var comField = new Dictionary<string, string> { { "enable_flag", "0" } };
                    //flag = DBHelper.BatchUpdateDataByIn("删除三包服务单", TableName, comField, "tg_id", selectedRows.ToArray());
                    var comField = new Dictionary <string, string> {
                        { "enable_flag", "0" }
                    };
                    var flag = DBHelper.BatchUpdateDataByIn("批量删除客户档案", "tb_customer", comField, "cust_id", selectedRows.ToArray());
                    foreach (var selectedRow in selectedRows)
                    {
                        var crmIdDt = DBHelper.GetTable("查询客户档案信息", "tb_customer", "cust_crm_guid",
                                                        String.Format("cust_id = '{0}'", selectedRow), "", "");
                        if (crmIdDt != null && crmIdDt.Rows.Count == 1)
                        {
                            BeginInvoke(new MethodInvoker(delegate()
                            {
                                DBHelper.WebServHandler("删除客户档案", EnumWebServFunName.UpLoadCustomer,
                                                        new tb_customer
                                {
                                    cust_crm_guid        = CommonCtrl.IsNullToString(crmIdDt.Rows[0][0]),
                                    status               = "1",
                                    accessories_discount = 0,
                                    agency               = "",
                                    bank_account         = "",
                                    bank_account_person  = "",
                                    billing_account      = "",
                                    billing_address      = "",
                                    billing_name         = "",
                                    business_scope       = "",
                                    city                   = "",
                                    com_constitution       = "",
                                    country                = "",
                                    county                 = "",
                                    create_by              = "",
                                    create_time            = 0,
                                    credit_account_period  = 0,
                                    credit_line            = 0,
                                    credit_rating          = "",
                                    cust_address           = "",
                                    cust_code              = "",
                                    cust_email             = "",
                                    cust_fax               = "",
                                    cust_id                = "",
                                    cust_name              = "",
                                    cust_phone             = "",
                                    cust_quick_code        = "",
                                    cust_relation          = "",
                                    cust_remark            = "",
                                    cust_short_name        = "",
                                    cust_tel               = "",
                                    cust_type              = "",
                                    cust_website           = "",
                                    data_source            = "",
                                    enable_flag            = "",
                                    ent_qualification      = "",
                                    enterprise_nature      = "",
                                    indepen_legalperson    = "",
                                    institution_code       = "",
                                    is_member              = "",
                                    legal_person           = "",
                                    market_segment         = "",
                                    member_class           = "",
                                    member_number          = "",
                                    member_period_validity = 0,
                                    open_bank              = "",
                                    price_type             = "",
                                    province               = "",
                                    registered_capital     = "",
                                    sap_code               = "",
                                    tax_num                = "",
                                    update_by              = "",
                                    update_time            = 0,
                                    vehicle_structure      = "",
                                    workhours_discount     = 0,
                                    yt_customer_manager    = "",
                                    yt_sap_code            = "",
                                    zip_code               = ""
                                });
                            }));
                        }
                    }
                    if (flag)
                    {
                        BindPageData();
                        if (dgv_table.Rows.Count > 0)
                        {
                            dgv_table.CurrentCell = dgv_table.Rows[0].Cells[0];
                        }
                        MessageBoxEx.Show("删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBoxEx.Show("删除失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                    MessageBoxEx.Show("删除失败!" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            };
            #endregion

            #region 省市区联动
            cboprovince.SelectedIndexChanged += delegate
            {
                try
                {
                    if (!string.IsNullOrEmpty(cboprovince.SelectedValue.ToString()))
                    {
                        CommonFuncCall.BindCityComBox(cbocity, cboprovince.SelectedValue.ToString(), "市");
                        CommonFuncCall.BindCountryComBox(cbocounty, cbocity.SelectedValue.ToString(), "区/县");
                    }
                    else
                    {
                        CommonFuncCall.BindCityComBox(cbocity, "", "市");
                        CommonFuncCall.BindCountryComBox(cbocounty, "", "区/县");
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            cbocity.SelectedIndexChanged += delegate
            {
                try
                {
                    if (!string.IsNullOrEmpty(cbocity.SelectedValue.ToString()))
                    {
                        CommonFuncCall.BindCountryComBox(cbocounty, cbocity.SelectedValue.ToString(), "区/县");
                    }
                    else
                    {
                        CommonFuncCall.BindCountryComBox(cbocounty, "", "区/县");
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            #endregion

            #region 启用停用事件
            StatusEvent += delegate
            {
                try
                {
                    var          listSql   = new List <SQLObj>();
                    const string opName    = "修改客户档案状态";
                    var          strStatus = Convert.ToInt16(_eStatus).ToString(CultureInfo.InvariantCulture);
                    string       msg;
                    if (_eStatus == DataSources.EnumStatus.Start) //启用
                    {
                        StatusSql(listSql, _tiList, strStatus);   //停用的ti_list改为启用
                        msg = "启用";
                    }
                    else//停用
                    {
                        StatusSql(listSql, _qiList, strStatus);//启用的qi_list 改为停用
                        msg = "停用";
                    }
                    if (MessageBoxEx.Show("确认要" + msg + "吗?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK)
                    {
                        return;
                    }
                    if (DBHelper.BatchExeSQLMultiByTrans(opName, listSql))
                    {
                        btnStatus.Enabled = false;
                        BindPageData();
                        MessageBoxEx.Show(msg + "成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBoxEx.Show(msg + "失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            #endregion

            #region 数据表格事件
            dgv_table.CellContentClick += delegate(object sender, DataGridViewCellEventArgs e)
            {
                try
                {
                    if (e.ColumnIndex != 0)
                    {
                        return;
                    }
                    _qiList.Clear();
                    _tiList.Clear();
                    _eStatus = new DataSources.EnumStatus();
                    foreach (DataGridViewRow row in dgv_table.Rows)
                    {
                        if (!Convert.ToBoolean(row.Cells[0].EditedFormattedValue))
                        {
                            continue;
                        }
                        if (row.Cells["status"].EditedFormattedValue.ToString() == DataSources.EnumStatus.Start.GetDescription()) //表格中是启用
                        {
                            _qiList.Add(row.Cells["cust_id"].EditedFormattedValue.ToString());
                        }
                        else//表格中是停用
                        {
                            _tiList.Add(row.Cells["cust_id"].EditedFormattedValue.ToString());
                        }
                    }
                    BtnStatus(_qiList, _tiList);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            dgv_table.HeadCheckChanged += delegate
            {
                try
                {
                    _qiList.Clear();
                    _tiList.Clear();
                    _eStatus = new DataSources.EnumStatus();
                    foreach (DataGridViewRow row in dgv_table.Rows)
                    {
                        if (Convert.ToBoolean(row.Cells[0].Value))
                        {
                            if (row.Cells["status"].Value.ToString() == DataSources.EnumStatus.Start.GetDescription())//表格中是启用
                            {
                                _qiList.Add(row.Cells["cust_id"].Value.ToString());
                            }
                            else//表格中是停用
                            {
                                _tiList.Add(row.Cells["cust_id"].Value.ToString());
                            }
                        }
                    }
                    BtnStatus(_qiList, _tiList);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            #endregion

            #region 根据选择的数据判断功能按钮的显示状态
            dgv_table.CellMouseUp += delegate
            {
                try
                {
                    var dataView = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id, TableName);
                    if (dataView == null)
                    {
                        btnCopy.Enabled   = false;
                        btnEdit.Enabled   = false;
                        btnDelete.Enabled = false;
                        return;
                    }
                    var isYt      = dataView.Cast <DataRowView>().Any(rowView => CommonCtrl.IsNullToString(rowView["data_source"]) == "2");
                    var listField = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id);
                    if (listField.Count == 0)
                    {
                        btnCopy.Enabled   = false;
                        btnEdit.Enabled   = false;
                        btnDelete.Enabled = false;
                    }
                    else
                    {
                        btnCopy.Enabled   = true;
                        btnEdit.Enabled   = true;
                        btnDelete.Enabled = true;
                    }
                    if (isYt)
                    {
                        btnEdit.Enabled   = false;
                        btnDelete.Enabled = false;
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1, ex);
                }
            };
            #endregion
        }
        private void FuncationRegiste() //事件注册
        {
            #region 数据表数据选择
            //单元格数据转换
            dgv_table.CellFormatting += (sender, args) => ConvertDataGridColumnsData(args);
            //数据行双击事件
            dgv_table.CellDoubleClick += delegate(object sender, DataGridViewCellEventArgs e)
            {
                try
                {
                    if (e.RowIndex < 0) return;
                    var value = dgv_table.Rows[e.RowIndex].Cells[cust_id.Name].Value;
                    if (value == null) return;
                    var id = value.ToString();
                    var ucCustomerView = new UCCustomerViews
                    {
                        Id = id,
                        UCCustomerManager = this
                    };
                    addUserControl(ucCustomerView, "客户详细信息", "UCCustomerViews" + id, Tag.ToString(), Name);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            #endregion

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

            #region 清除按钮事件
            btn_clear.Click += delegate
            {
                try
                {
                    UIAssistants.ClearQueryControlValue(pnl_query);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            #endregion

            #region 查询
            btn_query.Click += (sender, args) =>
            {
                pageQ.PageIndex = 1;
                pageQ.RecordCount = 0;
                BindPageData();
            };
            #endregion

            #region 新增
            btnAdd.Click += delegate
            {
                try
                {
                    var ucCustomerAddOrEdit = new UCCustomerAddOrEdit { UCCustomerManager = this, windowStatus = WindowStatus.Add };
                    addUserControl(ucCustomerAddOrEdit, "客户信息新增", "UCCustomerAddOrEdit-Add", Tag.ToString(), Name);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            #endregion

            #region 复制
            btnCopy.Click += delegate
            {
                try
                {
                    var id = "";
                    var dataView = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id, TableName);
                    if (dataView == null) return;
                    foreach (DataRowView rowView in dataView)
                    {
                        id = rowView["cust_id"].ToString();
                        break;
                    }
                    var ucCustomerAddOrEdit = new UCCustomerAddOrEdit
                    {
                        UCCustomerManager = this,
                        windowStatus = WindowStatus.Copy,
                        Id = id
                    };
                    addUserControl(ucCustomerAddOrEdit, "客户信息拷贝", "UCCustomerAddOrEdit-Copy" + ucCustomerAddOrEdit.Id, Tag.ToString(), Name);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            #endregion

            #region 编辑
            btnEdit.Click += delegate
            {
                try
                {
                    var id = "";
                    var dataView = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id, TableName);
                    if (dataView == null) return;
                    foreach (DataRowView rowView in dataView)
                    {
                        id = rowView["cust_id"].ToString();
                        break;
                    }
                    var ucCustomerAddOrEdit = new UCCustomerAddOrEdit
                    {
                        UCCustomerManager = this,
                        windowStatus = WindowStatus.Edit,
                        Id = id
                    };
                    addUserControl(ucCustomerAddOrEdit, "客户信息编辑", "UCCustomerAddOrEdit-Edit" + ucCustomerAddOrEdit.Id, Tag.ToString(), Name);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            #endregion

            #region 删除
            btnDelete.Click += delegate
            {
                try
                {
                    var selectedRows = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id);
                    if (selectedRows.Count == 0)
                    {
                        MessageBoxEx.Show("请选择删除记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                    if (MessageBoxEx.Show("确认要删除吗?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK)
                    {
                        return;
                    }
                    //var comField = new Dictionary<string, string> { { "enable_flag", "0" } };
                    //flag = DBHelper.BatchUpdateDataByIn("删除三包服务单", TableName, comField, "tg_id", selectedRows.ToArray());
                    var comField = new Dictionary<string, string> { { "enable_flag", "0" } };
                    var flag = DBHelper.BatchUpdateDataByIn("批量删除客户档案", "tb_customer", comField, "cust_id", selectedRows.ToArray());
                    foreach (var selectedRow in selectedRows)
                    {
                        var crmIdDt = DBHelper.GetTable("查询客户档案信息", "tb_customer", "cust_crm_guid",
                            String.Format("cust_id = '{0}'", selectedRow), "", "");
                        if (crmIdDt != null && crmIdDt.Rows.Count == 1)
                        {
                            DBHelper.WebServHandler("删除客户档案", EnumWebServFunName.UpLoadCustomer,
                                new tb_customer {cust_crm_guid = CommonCtrl.IsNullToString(crmIdDt.Rows[0][0]), status = "0"});
                        }
                    }
                    if (flag)
                    {
                        BindPageData();
                        if (dgv_table.Rows.Count > 0)
                        {
                            dgv_table.CurrentCell = dgv_table.Rows[0].Cells[0];
                        }
                        MessageBoxEx.Show("删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBoxEx.Show("删除失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                    MessageBoxEx.Show("删除失败!" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            };
            #endregion

            #region 省市区联动
            cboprovince.SelectedIndexChanged += delegate
            {
                try
                {
                    if (!string.IsNullOrEmpty(cboprovince.SelectedValue.ToString()))
                    {
                        CommonFuncCall.BindCityComBox(cbocity, cboprovince.SelectedValue.ToString(), "市");
                        CommonFuncCall.BindCountryComBox(cbocounty, cbocity.SelectedValue.ToString(), "区/县");
                    }
                    else
                    {
                        CommonFuncCall.BindCityComBox(cbocity, "", "市");
                        CommonFuncCall.BindCountryComBox(cbocounty, "", "区/县");
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            cbocity.SelectedIndexChanged += delegate
            {
                try
                {
                    if (!string.IsNullOrEmpty(cbocity.SelectedValue.ToString()))
                    {
                        CommonFuncCall.BindCountryComBox(cbocounty, cbocity.SelectedValue.ToString(), "区/县");
                    }
                    else
                    {
                        CommonFuncCall.BindCountryComBox(cbocounty, "", "区/县");
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            #endregion

            #region 启用停用事件
            StatusEvent += delegate
            {
                try
                {
                    var listSql = new List<SQLObj>();
                    const string opName = "修改客户档案状态";
                    var strStatus = Convert.ToInt16(_eStatus).ToString(CultureInfo.InvariantCulture);
                    string msg;
                    if (_eStatus == DataSources.EnumStatus.Start)//启用
                    {
                        StatusSql(listSql, _tiList, strStatus);//停用的ti_list改为启用
                        msg = "启用";
                    }
                    else//停用
                    {
                        StatusSql(listSql, _qiList, strStatus);//启用的qi_list 改为停用
                        msg = "停用";
                    }
                    if (MessageBoxEx.Show("确认要" + msg + "吗?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK)
                    {
                        return;
                    }
                    if (DBHelper.BatchExeSQLMultiByTrans(opName, listSql))
                    {
                        btnStatus.Enabled = false;
                        BindPageData();
                        MessageBoxEx.Show(msg + "成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBoxEx.Show(msg + "失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            #endregion

            #region 数据表格事件
            dgv_table.CellContentClick += delegate(object sender, DataGridViewCellEventArgs e)
            {
                try
                {
                    if (e.ColumnIndex != 0) return;
                    _qiList.Clear();
                    _tiList.Clear();
                    _eStatus = new DataSources.EnumStatus();
                    foreach (DataGridViewRow row in dgv_table.Rows)
                    {
                        if (!Convert.ToBoolean(row.Cells[0].EditedFormattedValue)) continue;
                        if (row.Cells["status"].EditedFormattedValue.ToString() == DataSources.EnumStatus.Start.GetDescription()) //表格中是启用
                        {
                            _qiList.Add(row.Cells["cust_id"].EditedFormattedValue.ToString());
                        }
                        else//表格中是停用
                        {
                            _tiList.Add(row.Cells["cust_id"].EditedFormattedValue.ToString());
                        }
                    }
                    BtnStatus(_qiList, _tiList);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            dgv_table.HeadCheckChanged += delegate
            {
                try
                {
                    _qiList.Clear();
                    _tiList.Clear();
                    _eStatus = new DataSources.EnumStatus();
                    foreach (DataGridViewRow row in dgv_table.Rows)
                    {
                        if (Convert.ToBoolean(row.Cells[0].Value))
                        {
                            if (row.Cells["status"].Value.ToString() == DataSources.EnumStatus.Start.GetDescription())//表格中是启用
                            {
                                _qiList.Add(row.Cells["cust_id"].Value.ToString());
                            }
                            else//表格中是停用
                            {
                                _tiList.Add(row.Cells["cust_id"].Value.ToString());
                            }
                        }
                    }
                    BtnStatus(_qiList, _tiList);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            #endregion

            #region 根据选择的数据判断功能按钮的显示状态
            dgv_table.CellMouseUp += delegate
            {
                try
                {
                    var dataView = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id, TableName);
                    if (dataView == null)
                    {
                        btnCopy.Enabled = false;
                        btnEdit.Enabled = false;
                        btnDelete.Enabled = false;
                        return;
                    }
                    var isYt = dataView.Cast<DataRowView>().Any(rowView => CommonCtrl.IsNullToString(rowView["data_source"]) == "2");
                    var listField = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id);
                    if (listField.Count == 0)
                    {
                        btnCopy.Enabled = false;
                        btnEdit.Enabled = false;
                        btnDelete.Enabled = false;
                    }
                    else
                    {
                        btnCopy.Enabled = true;
                        btnEdit.Enabled = true;
                        btnDelete.Enabled = true;
                    }
                    if (isYt)
                    {
                        btnEdit.Enabled = false;
                        btnDelete.Enabled = false;
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            #endregion
        }
        private void FuncationRegiste() //事件注册
        {
            #region 数据表数据选择
            //单元格数据转换
            dgv_table.CellFormatting += (sender, args) => ConvertDataGridColumnsData(args);
            //数据行双击事件
            dgv_table.CellDoubleClick += delegate(object sender, DataGridViewCellEventArgs e)
            {
                try
                {
                    if (e.RowIndex < 0) return;
                    var value = dgv_table.Rows[e.RowIndex].Cells[cust_id.Name].Value;
                    if (value == null) return;
                    var id = value.ToString();
                    var ucCustomerView = new UCCustomerViews
                    {
                        Id = id,
                        UCCustomerManager = this
                    };
                    addUserControl(ucCustomerView, "客户详细信息", "UCCustomerViews" + id, Tag.ToString(), Name);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            //ViewEvent += delegate
            //{
            //    try
            //    {
            //        if (dgv_table.SelectedRows.Count != 1) return;
            //        var value =  dgv_table.SelectedRows[0].Cells[cust_id.Name].Value;
            //        if (value == null) return;
            //        var id = value.ToString();
            //        var ucCustomerView = new UCCustomerViews
            //        {
            //            Id = id,
            //            UCCustomerManager = this
            //        };
            //        addUserControl(ucCustomerView, "客户详细信息", "UCCustomerViews" + id, Tag.ToString(), Name);
            //    }
            //    catch (Exception ex)
            //    {
            //        LogService4Customer.WriteLog(1, ex);
            //    }
            //};
            #endregion

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

            #region 清除按钮事件
            btn_clear.Click += delegate
            {
                try
                {
                    UIAssistants.ClearQueryControlValue(pnl_query);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            #endregion

            #region 查询
            btn_query.Click += (sender, args) =>
            {
                pageQ.PageIndex = 1;
                pageQ.RecordCount = 0;
                BindPageData();
            };
            #endregion

            #region 预览事件
            btnView.Click += delegate
            {
                businessPrint.Preview(dgv_table.GetBoundData());
            }
            ;
            #endregion

            #region 打印事件
            btnPrint.Click += delegate
            {
                businessPrint.Print(dgv_table.GetBoundData());
            };
            #endregion

            #region 设置事件
            btnSet.Click += delegate
            {
                businessPrint.PrintSet(dgv_table);
            }
            ;
            #endregion

            #region 导出事件
            btnExport.Click += delegate
            {
                if (this.dgv_table.Rows.Count == 0)
                {
                    return;
                }
                try
                {
                    string fileName = "客户档案" + DateTime.Now.ToString("yyyy-MM-dd") + ".xls";
                    ExcelHandler.ExportExcel(fileName, dgv_table);
                }
                catch (Exception ex)
                {
                    Utility.Log.Log.writeLineToLog("【客户档案】" + ex.Message, "server");
                    MessageBoxEx.ShowWarning("导出失败!");
                }
            };
            #endregion

            #region 新增
            btnAdd.Click += delegate
            {
                try
                {
                    var ucCustomerAddOrEdit = new UCCustomerAddOrEdit { UCCustomerManager = this, windowStatus = WindowStatus.Add };
                    addUserControl(ucCustomerAddOrEdit, "客户信息新增", "UCCustomerAddOrEdit-Add", Tag.ToString(), Name);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            #endregion

            #region 复制
            btnCopy.Click += delegate
            {
                try
                {
                    var id = "";
                    var dataView = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id, TableName);
                    if (dataView == null) return;
                    foreach (DataRowView rowView in dataView)
                    {
                        id = rowView["cust_id"].ToString();
                        break;
                    }
                    var ucCustomerAddOrEdit = new UCCustomerAddOrEdit
                    {
                        UCCustomerManager = this,
                        windowStatus = WindowStatus.Copy,
                        Id = id
                    };
                    addUserControl(ucCustomerAddOrEdit, "客户信息拷贝", "UCCustomerAddOrEdit-Copy" + ucCustomerAddOrEdit.Id, Tag.ToString(), Name);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            #endregion

            #region 编辑
            btnEdit.Click += delegate
            {
                try
                {
                    var id = "";
                    var dataView = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id, TableName);
                    if (dataView == null) return;
                    foreach (DataRowView rowView in dataView)
                    {
                        id = rowView["cust_id"].ToString();
                        break;
                    }
                    var ucCustomerAddOrEdit = new UCCustomerAddOrEdit
                    {
                        UCCustomerManager = this,
                        windowStatus = WindowStatus.Edit,
                        Id = id
                    };
                    addUserControl(ucCustomerAddOrEdit, "客户信息编辑", "UCCustomerAddOrEdit-Edit" + ucCustomerAddOrEdit.Id, Tag.ToString(), Name);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            #endregion

            #region 删除
            btnDelete.Click += delegate
            {
                try
                {
                    var selectedRows = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id);
                    if (selectedRows.Count == 0)
                    {
                        MessageBoxEx.Show("请选择删除记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                    if (MessageBoxEx.Show("确认要删除吗?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK)
                    {
                        return;
                    }
                    //var comField = new Dictionary<string, string> { { "enable_flag", "0" } };
                    //flag = DBHelper.BatchUpdateDataByIn("删除三包服务单", TableName, comField, "tg_id", selectedRows.ToArray());
                    var comField = new Dictionary<string, string> { { "enable_flag", "0" } };
                    var flag = DBHelper.BatchUpdateDataByIn("批量删除客户档案", "tb_customer", comField, "cust_id", selectedRows.ToArray());
                    foreach (var selectedRow in selectedRows)
                    {
                        var crmIdDt = DBHelper.GetTable("查询客户档案信息", "tb_customer", "cust_crm_guid",
                            String.Format("cust_id = '{0}'", selectedRow), "", "");
                        if (crmIdDt != null && crmIdDt.Rows.Count == 1)
                        {
                            BeginInvoke(new MethodInvoker(delegate()
                            {
                                DBHelper.WebServHandler("删除客户档案", EnumWebServFunName.UpLoadCustomer,
                                    new tb_customer
                                    {
                                        cust_crm_guid = CommonCtrl.IsNullToString(crmIdDt.Rows[0][0]),
                                        status = "1",
                                        accessories_discount = 0,
                                        agency = "",
                                        bank_account = "",
                                        bank_account_person = "",
                                        billing_account = "",
                                        billing_address = "",
                                        billing_name = "",
                                        business_scope = "",
                                        city = "",
                                        com_constitution = "",
                                        country = "",
                                        county = "",
                                        create_by = "",
                                        create_time = 0,
                                        credit_account_period = 0,
                                        credit_line = 0,
                                        credit_rating = "",
                                        cust_address = "",
                                        cust_code = "",
                                        cust_email = "",
                                        cust_fax = "",
                                        cust_id = "",
                                        cust_name = "",
                                        cust_phone = "",
                                        cust_quick_code = "",
                                        cust_relation = "",
                                        cust_remark = "",
                                        cust_short_name = "",
                                        cust_tel = "",
                                        cust_type = "",
                                        cust_website = "",
                                        data_source = "",
                                        enable_flag = "",
                                        ent_qualification = "",
                                        enterprise_nature = "",
                                        indepen_legalperson = "",
                                        institution_code = "",
                                        is_member = "",
                                        legal_person = "",
                                        market_segment = "",
                                        member_class = "",
                                        member_number = "",
                                        member_period_validity = 0,
                                        open_bank = "",
                                        price_type = "",
                                        province = "",
                                        registered_capital = "",
                                        sap_code = "",
                                        tax_num = "",
                                        update_by = "",
                                        update_time = 0,
                                        vehicle_structure = "",
                                        workhours_discount = 0,
                                        yt_customer_manager = "",
                                        yt_sap_code = "",
                                        zip_code = ""
                                    });
                            }));
                        }
                    }
                    if (flag)
                    {
                        BindPageData();
                        if (dgv_table.Rows.Count > 0)
                        {
                            dgv_table.CurrentCell = dgv_table.Rows[0].Cells[0];
                        }
                        MessageBoxEx.Show("删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBoxEx.Show("删除失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                    MessageBoxEx.Show("删除失败!" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            };
            #endregion

            #region 省市区联动
            cboprovince.SelectedIndexChanged += delegate
            {
                try
                {
                    if (!string.IsNullOrEmpty(cboprovince.SelectedValue.ToString()))
                    {
                        CommonFuncCall.BindCityComBox(cbocity, cboprovince.SelectedValue.ToString(), "市");
                        CommonFuncCall.BindCountryComBox(cbocounty, cbocity.SelectedValue.ToString(), "区/县");
                    }
                    else
                    {
                        CommonFuncCall.BindCityComBox(cbocity, "", "市");
                        CommonFuncCall.BindCountryComBox(cbocounty, "", "区/县");
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            cbocity.SelectedIndexChanged += delegate
            {
                try
                {
                    if (!string.IsNullOrEmpty(cbocity.SelectedValue.ToString()))
                    {
                        CommonFuncCall.BindCountryComBox(cbocounty, cbocity.SelectedValue.ToString(), "区/县");
                    }
                    else
                    {
                        CommonFuncCall.BindCountryComBox(cbocounty, "", "区/县");
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            #endregion

            #region 启用停用事件
            StatusEvent += delegate
            {
                try
                {
                    var listSql = new List<SQLObj>();
                    const string opName = "修改客户档案状态";
                    var strStatus = Convert.ToInt16(_eStatus).ToString(CultureInfo.InvariantCulture);
                    string msg;
                    if (_eStatus == DataSources.EnumStatus.Start)//启用
                    {
                        StatusSql(listSql, _tiList, strStatus);//停用的ti_list改为启用
                        msg = "启用";
                    }
                    else//停用
                    {
                        StatusSql(listSql, _qiList, strStatus);//启用的qi_list 改为停用
                        msg = "停用";
                    }
                    if (MessageBoxEx.Show("确认要" + msg + "吗?", "提示", MessageBoxButtons.OKCancel) != DialogResult.OK)
                    {
                        return;
                    }
                    if (DBHelper.BatchExeSQLMultiByTrans(opName, listSql))
                    {
                        btnStatus.Enabled = false;
                        BindPageData();
                        MessageBoxEx.Show(msg + "成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBoxEx.Show(msg + "失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            #endregion

            #region 数据表格事件
            dgv_table.CellContentClick += delegate(object sender, DataGridViewCellEventArgs e)
            {
                try
                {
                    if (e.ColumnIndex != 0) return;
                    _qiList.Clear();
                    _tiList.Clear();
                    _eStatus = new DataSources.EnumStatus();
                    foreach (DataGridViewRow row in dgv_table.Rows)
                    {
                        if (!Convert.ToBoolean(row.Cells[0].EditedFormattedValue)) continue;
                        if (row.Cells["status"].EditedFormattedValue.ToString() == DataSources.EnumStatus.Start.GetDescription()) //表格中是启用
                        {
                            _qiList.Add(row.Cells["cust_id"].EditedFormattedValue.ToString());
                        }
                        else//表格中是停用
                        {
                            _tiList.Add(row.Cells["cust_id"].EditedFormattedValue.ToString());
                        }
                    }
                    BtnStatus(_qiList, _tiList);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            dgv_table.HeadCheckChanged += delegate
            {
                try
                {
                    _qiList.Clear();
                    _tiList.Clear();
                    _eStatus = new DataSources.EnumStatus();
                    foreach (DataGridViewRow row in dgv_table.Rows)
                    {
                        if (Convert.ToBoolean(row.Cells[0].Value))
                        {
                            if (row.Cells["status"].Value.ToString() == DataSources.EnumStatus.Start.GetDescription())//表格中是启用
                            {
                                _qiList.Add(row.Cells["cust_id"].Value.ToString());
                            }
                            else//表格中是停用
                            {
                                _tiList.Add(row.Cells["cust_id"].Value.ToString());
                            }
                        }
                    }
                    BtnStatus(_qiList, _tiList);
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            #endregion

            #region 根据选择的数据判断功能按钮的显示状态
            dgv_table.CellMouseUp += delegate
            {
                try
                {
                    var dataView = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id, TableName);
                    if (dataView == null)
                    {
                        btnCopy.Enabled = false;
                        btnEdit.Enabled = false;
                        btnDelete.Enabled = false;
                        return;
                    }
                    var isYt = dataView.Cast<DataRowView>().Any(rowView => CommonCtrl.IsNullToString(rowView["data_source"]) == "2");
                    var listField = UIAssistants.GetDataGridCheckRows(dgv_table, colCheck, cust_id);
                    if (listField.Count == 0)
                    {
                        btnCopy.Enabled = false;
                        btnEdit.Enabled = false;
                        btnDelete.Enabled = false;
                    }
                    else
                    {
                        btnCopy.Enabled = true;
                        btnEdit.Enabled = true;
                        btnDelete.Enabled = true;
                    }
                    if (isYt)
                    {
                        btnEdit.Enabled = false;
                        btnDelete.Enabled = false;
                    }
                }
                catch (Exception ex)
                {
                    LogService4Customer.WriteLog(1,ex);
                }
            };
            #endregion
        }