【Dev Express】CheckedComboBoxEdit下拉列表多选控件的使用

狂风中的少年 提交于 2020-02-27 09:01:08

相关操作:1、给控件赋值     2、获取选中的值      3、Edit Changed事件的绑定  4、设置默认全选

  private void InitControl()
        {
            //gluProjectAddData();
            chkProjectAddData();
        }
  private void chkProjectAddData()
        {

            DataTable dt = WIPLIST.ViewWIPCustomProjectNoList();
            this.chkProject.Properties.NullText = "选择项目号";
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                chkProject.Properties.Items.Add(dt.Rows[i]["PROJECT_NO"].ToString());
            }
            foreach (CheckedListBoxItem item in chkProject.Properties.Items)
            {
                //if (item.Description.ToString() == _statisticalTime)
                //{
                    item.CheckState = CheckState.Checked;
                //}
                //else
                //{
                //    item.CheckState = CheckState.Unchecked;
                //}
            }
        }
        private void chkEngineNoAddData()
        {
            string sProject = chkProject.Text;
            List<DataTable> ProjectList = new List<DataTable>();
            string[] arrProject = sProject.Split(',');
            this.chkEngineNo.Properties.NullText = "选择发动机号";
            if (arrProject != null && arrProject.Length > 0)
            {
                for (int i = 0; i < arrProject.Length; i++)
                {
                    DataTable dt = WIPLIST.ViewWIPCustomEngineNoList(arrProject[i]);
                    ProjectList.Add(dt);

                }
            }
            if (ProjectList.Count > 0)
            {
                for (int i = 0; i < ProjectList.Count; i++)
                {
                    for (int j = 0; j < ProjectList[i].Rows.Count; j++)
                    {
                        chkEngineNo.Properties.Items.Add(ProjectList[i].Rows[j]["ENGINE_NO"].ToString());
                    }
                }
            }
            foreach (CheckedListBoxItem item in chkEngineNo.Properties.Items)
            {
                item.CheckState = CheckState.Checked;
            }
        }
  private void chkProject_EditValueChanged(object sender, EventArgs e)
        {
            chkEngineNoAddData();
        }

    private bool Query()
        {
            try
            {
                DataTable dt = new DataTable();

                dt.Columns.Add("ENGINE_NO");
                dt.Columns.Add("LOT_STATUS");
                dt.Columns.Add("SUM_NUM");

                TRSNode in_node = new TRSNode("Sql_In");
                TRSNode out_node = new TRSNode("Sql_Out");
                StringBuilder sb = new StringBuilder();
                CommonRoutine.SetInMsg(in_node);
                in_node.ProcStep = '1';
                in_node.AddInt("NEXT_ROW", 0);
                if (chkProject.Text == "")
                {
                    CommonFunction.ShowMsgBox("此字段为必选项!");
                    chkProject.Focus();
                    return false;
                }
                if (chkEngineNo.Text == "")
                {
                    CommonFunction.ShowMsgBox("此字段为必选项!");
                    chkEngineNo.Focus();
                    return false;
                }
                string[] arrProject = chkProject.Text.Split(',');
                string[] arrEngineNo = chkEngineNo.Text.Split(',');
                //string sFromTime = CommonFunction.ToStandardTime(dtpFrom.DateTime, GlobalConstant.SYS_CONVERT_DATETIME_FORMAT);
                //string sToTime = CommonFunction.ToStandardTime(dtpTo.DateTime.AddSeconds(86399), GlobalConstant.SYS_CONVERT_DATETIME_FORMAT);
                sb.Append("SELECT LOT_CMF_2, LOT_STATUS,COUNT(*) AS sumNum  FROM WIPLOTSTS WHERE 1=1 ");
                sb.Append("AND FACTORY = '" + GlobalVariable.gsFactory + "' ");
                for (int i = 0; i < arrProject.Length; i++)
                {
                    if (i == 0)
                    {
                        sb.Append("AND LOT_CMF_1 = '" + arrProject[i] + "' ");
                    }
                    else
                    {
                        sb.Append(" OR LOT_CMF_1 = '" + arrProject[i] + "' ");
                    }
                }
                for (int i = 0; i < arrEngineNo.Length; i++)
                {
                    if (i == 0)
                    {
                        sb.Append("AND LOT_CMF_2 = '" + arrEngineNo[i] + "' ");
                    }
                    else
                    {
                        sb.Append(" OR LOT_CMF_2 = '" + arrEngineNo[i] + "' ");
                    }
                }

                //if (sFromTime != "")
                //{
                //    sb.Append("AND START_TIME >= '" + sFromTime + "' ");
                //}
                //if (sToTime != "")
                //{
                //    sb.Append("AND END_TIME <= '" + sToTime + "' ");
                //}
                //sb.Append("AND B.TRAN_TIME >= '" + sFromTime + "' ");
                //sb.Append("AND B.TRAN_TIME <= '" + sToTime + "' ");
                sb.Append(" GROUP BY LOT_CMF_2,LOT_STATUS  ");

                in_node.SetString("SQL", sb.ToString());
                do
                {
                    if (CommonRoutine.CallService("BAS", "BAS_SQL_Query", in_node, ref out_node) == false)
                    {
                        return false;
                    }
                    in_node.SetInt("NEXT_ROW", out_node.GetInt("NEXT_ROW"));
                } while (in_node.GetInt("NEXT_ROW") > 0);

                dt = CommonRoutine.ConvertToDataTable(dt, out_node);

                if (dtTotal == null || dtTotal.Rows.Count <= 0)
                {
                    dtTotal = dt.Copy();
                }
                else
                {
                    DataTable dtbak = dt.Copy();
                    //DataColumn[] cols = new DataColumn[] { dtbak.Columns["ENGINE_NO"] };
                    //DataColumn[] cols2 = new DataColumn[] { dtTotal.Columns["ENGINE_NO"] };
                    //dtbak.PrimaryKey = cols;
                    //dtTotal.PrimaryKey = cols2;
                    foreach (DataRow item in dtbak.Rows)
                    {
                        //if (dtTotal.Rows.Contains(item))
                        //{
                        //    return false;
                        //}
                        dtTotal.Rows.Add(item["ENGINE_NO"], item["LOT_STATUS"], item["SUM_NUM"]);
                    }
                }
                if (dtTotal != null && dtTotal.Rows.Count > 0)
                {
                    QueryEventCode(dt);

                    DevGridControlHelper.BindData(gdcMOSummary, dtTotal);
                    //gdvMOSummary.Columns[0].GroupIndex = 0;
                    //gdvMOSummary.ExpandAllGroups();

                }
                else
                {
                    DataTable dtResult = new DataTable();
                    dtResult.Columns.Add("ENGINE_NO");
                    dtResult.Columns.Add("LOT_STATUS");
                    dtResult.Columns.Add("SUM_NUM");
                    DevGridControlHelper.BindData(gdcMOSummary, dtResult);
                    //chtWorkHours.Series.Clear();

                }
                return true;
            }
            catch (Exception ex)
            {
                CommonFunction.ShowMsgBox(ex.Message);
                return false;
            }
        }

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!