Esempio n. 1
0
        private void ugBTS_BeforeCellListDropDown(object sender, CancelableCellEventArgs e)
        {
            UltraDropDown udd = e.Cell.ValueListResolved as UltraDropDown;

            if (udd != null)
            {
                udd.DropDownWidth = e.Cell.Column.CellSizeResolved.Width;
            }
        }
Esempio n. 2
0
        void ug_list_InitializeLayout(object sender, InitializeLayoutEventArgs e)
        {
            UltraGrid ug_list = sender as UltraGrid;
            Sys_PD_RefModule refModuleData = new Sys_PD_RefModule();
            int i = 0;
            //ug_list.DisplayLayout.Appearance.FontData.SizeInPoints = (float)30;
            //ug_list.ResetDisplayLayout();
            //绑定每一列,并修改表头
            Sys_PD_Module module = new Sys_PD_Module();
            GridTagObject gridObj = ug_list.Tag as GridTagObject;
            module = gridObj.Module;
            //module = ug_list.Tag as Sys_PD_Module;
            List<Sys_PD_Filed> filedList = new List<Sys_PD_Filed>();
            filedList = instField.GetListByWhere(" and DCP_ModuleName='" + module.SPM_Module + "' order by DCP_Order ASC").ToList();

            //			 e.Layout.Bands[0].Columns["price"].MaskInput= "$#,###.##";

            Infragistics.Win.UltraWinGrid.UltraGridColumn ugCol;
            for (i = 0; i < e.Layout.Bands[0].Columns.Count; i++)//使所有的都不能编辑
            {
                ugCol = e.Layout.Bands[0].Columns[i];
                //使其不能在Grid上编辑
                ugCol.CellActivation = Activation.NoEdit;
                ugCol.Hidden = true;
                //ugCol.Header.te

            }
            ug_list.DisplayLayout.Bands[0].Summaries.Clear();

            foreach (Sys_PD_Filed field in filedList)
            {
                UltraGridBand band = e.Layout.Bands[0];
                if (band.Columns.Exists(field.DCP_ControlID))
                {
                    band.Columns[field.DCP_ControlID].Header.Caption = field.DCP_Label;
                    band.Columns[field.DCP_ControlID].Hidden = field.DCP_IsHidden == 1 ? true : false;
                    band.Columns[field.DCP_ControlID].Tag = field;//置tag属性,保存列的配置属性
                    band.Columns[field.DCP_ControlID].Header.VisiblePosition = field.DCP_Order;
                    band.Columns[field.DCP_ControlID].CellActivation = Activation.AllowEdit;

                }
                else
                {
                    continue;
                }

                if (field.DCP_IsSummary > 0)
                {
                    ug_list.DisplayLayout.Bands[0].Columns[field.DCP_ControlID].AllowRowSummaries = AllowRowSummaries.SingleSummaryBasedOnDataType;

                    ug_list.DisplayLayout.Bands[0].Summaries.Add(SummaryType.Sum, ug_list.DisplayLayout.Bands[0].Columns[field.DCP_ControlID]);
                    ug_list.DisplayLayout.Bands[0].SummaryFooterCaption = "合计";
                }

                //绑定编辑的控件
                switch (field.DCP_ControlType)
                {
                    case "text":
                        if (field.DCP_IsReadonly == 1)
                        {
                            band.Columns[field.DCP_ControlID].CellClickAction = CellClickAction.RowSelect;
                        }
                        break;
                    case "dec":
                        band.Columns[field.DCP_ControlID].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Double;
                        band.Columns[field.DCP_ControlID].PromptChar = ' ';
                        band.Columns[field.DCP_ControlID].MaskDisplayMode = Infragistics.Win.UltraWinMaskedEdit.MaskMode.Raw;
                        band.Columns[field.DCP_ControlID].MaskDataMode = Infragistics.Win.UltraWinMaskedEdit.MaskMode.Raw;
                        if (field.DCP_IsReadonly == 1)
                        {
                            band.Columns[field.DCP_ControlID].CellClickAction = CellClickAction.RowSelect;
                        }

                        break;
                    case "int":
                        band.Columns[field.DCP_ControlID].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Integer;

                        if (field.DCP_IsReadonly == 1)
                        {
                            band.Columns[field.DCP_ControlID].CellClickAction = CellClickAction.RowSelect;
                        }
                        break;
                    case "check":
                        band.Columns[field.DCP_ControlID].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox;

                        if (field.DCP_IsReadonly == 1)
                        {
                            band.Columns[field.DCP_ControlID].CellClickAction = CellClickAction.RowSelect;
                        }
                        break;
                    case "date":
                        band.Columns[field.DCP_ControlID].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Date;
                        band.Columns[field.DCP_ControlID].MaskInput = "yyyy-mm-dd";
                        //band.Columns[field.DCP_ControlID].DefaultCellValue = DateTime.Now;

                        if (field.DCP_IsReadonly == 1)
                        {
                            band.Columns[field.DCP_ControlID].CellClickAction = CellClickAction.RowSelect;
                        }
                        break;
                    case "time":
                        band.Columns[field.DCP_ControlID].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DateTimeWithoutDropDown;
                        band.Columns[field.DCP_ControlID].MaskInput = "yyyy-mm-dd hh:mm";
                        //band.Columns[field.DCP_ControlID].DefaultCellValue = DateTime.Now;

                        if (field.DCP_IsReadonly == 1)
                        {
                            band.Columns[field.DCP_ControlID].CellClickAction = CellClickAction.RowSelect;
                        }
                        break;
                    case "dict":
                        var dict = instDict.GetListByWhere(string.Format(" and dict_key='{0}' and dict_code <>'{0}' order by dict_order ", field.DCP_Type));
                        var valueList = new ValueList();
                        foreach (var obj in dict)
                        {
                            valueList.ValueListItems.Add(obj.Dict_Code, obj.Dict_Name);
                        }
                        band.Columns[field.DCP_ControlID].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
                        band.Columns[field.DCP_ControlID].ValueList = valueList;
                        band.Columns[field.DCP_ControlID].ButtonDisplayStyle = Infragistics.Win.UltraWinGrid.ButtonDisplayStyle.OnCellActivate;

                        if (field.DCP_IsReadonly == 1)
                        {
                            band.Columns[field.DCP_ControlID].CellClickAction = CellClickAction.RowSelect;
                        }
                        break;
                    case "ref":
                        //e.Layout.Bands[0].Columns[field.DCP_ControlID].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.ul;
                        UltraDropDown drop = new UltraDropDown();
                        string sql = string.Empty;
                        //if (!string.IsNullOrEmpty(field.DCP_RefSQL))
                        //{
                        //    sql = string.Format(field.DCP_RefSQL, "");
                        //MethodInvoker exc = delegate
                        //{
                        ADOSys_PD_RefModule refInst = new ADOSys_PD_RefModule();
                        Sys_PD_RefModule refModule = refInst.GetListByWhere(string.Format(" and SPR_RefModule='{0}'", field.DCP_RefSQL)).FirstOrDefault();

                        if (refModule != null && !string.IsNullOrEmpty(field.DCP_RefSQL))
                        {

                            sql = refModule.SPR_RefSQL.Trim();
                            DataTable refDate = new DataTable();
                            refDate = instField.GetRefData(sql);
                            drop.DataSource = refDate.DefaultView;
                            drop.DisplayMember = field.DCP_RefValue;
                            drop.ValueMember = field.DCP_RefCode;

                            drop.Tag = field;

                            //drop.v += new EventHandler(drop_TextChanged);
                            band.Columns[field.DCP_ControlID].ValueList = drop;
                            band.Columns[field.DCP_ControlID].AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend;

                            if (field.DCP_IsReadonly == 1)
                            {
                                band.Columns[field.DCP_ControlID].CellClickAction = CellClickAction.RowSelect;
                            }
                            drop.Rows.ColumnFilters[field.DCP_RefValue].FilterConditions.Add(FilterComparisionOperator.Contains, drop.Text);
                        }
                        else
                        {
                            DataTable refDate = new DataTable();
                            drop.DataSource = refDate.DefaultView;
                            drop.DisplayMember = field.DCP_RefValue;
                            drop.ValueMember = field.DCP_RefCode;
                            //drop.v += new EventHandler(drop_TextChanged);
                            band.Columns[field.DCP_ControlID].ValueList = drop;
                            band.Columns[field.DCP_ControlID].AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend;

                            if (field.DCP_IsReadonly == 1)
                            {
                                band.Columns[field.DCP_ControlID].CellClickAction = CellClickAction.RowSelect;
                            }

                            //drop.Rows.ColumnFilters[field.DCP_RefValue].FilterConditions.Add(FilterComparisionOperator.Contains, drop.Text);
                        }
                        //};

                        //exc.BeginInvoke(null, null);

                        //}

                        break;
                }
            }
            if (module.SPM_IsFilter > 0)
            {
                SetExcelStyleFilter(ug_list);
            }
            ug_list.DisplayLayout.AutoFitStyle = AutoFitStyle.ExtendLastColumn;
            GridFormater.RetrieveSetGridFormat(ug_list, ug_list.DisplayLayout.Bands[0], module.SPM_Module, SessionConfig.UserID);
        }
Esempio n. 3
0
        void ug_list_CellChange(object sender, CellEventArgs e)
        {
            UltraGrid ug_list = sender as UltraGrid;
            UltraGridCell cell = e.Cell;
            Sys_PD_Filed field = cell.Column.Tag as Sys_PD_Filed;
            try
            {
                EmbeddableEditorBase editor = e.Cell.EditorResolved;
                object value = editor.IsValid ? editor.Value : editor.CurrentEditText;

                e.Cell.Value = value;

                if (field != null)
                {
                    if (field.DCP_ControlType == "ref")
                    {
                        UltraDropDown drop = cell.Column.ValueList as UltraDropDown;
                        drop.Rows.ColumnFilters.ClearAllFilters();
                        drop.Rows.ColumnFilters[field.DCP_RefValue].FilterConditions.Add(FilterComparisionOperator.Contains, cell.Text);
                        drop.Rows.ColumnFilters[field.DCP_RefCode].FilterConditions.Add(FilterComparisionOperator.Contains, cell.Text);
                        drop.Rows.ColumnFilters.LogicalOperator = FilterLogicalOperator.Or;

                        if (!string.IsNullOrEmpty(field.DCP_RefBack))//回写数据
                        {
                            //回写DCP_RefBack
                            string[] arr = field.DCP_RefBack.Split(',');
                            foreach (string controlInfo in arr)
                            {
                                try
                                {
                                    string[] control = controlInfo.Split(':');
                                    e.Cell.Row.Cells[control[0]].Value = drop.SelectedRow.Cells[control[1]].Value.ToString();
                                }
                                catch { }
                            }
                        }
                    }
                    if (!string.IsNullOrEmpty(field.DCP_CControl))
                    {
                        Sys_PD_Filed cField = e.Cell.Row.Cells[field.DCP_CControl].Column.Tag as Sys_PD_Filed;
                        if (cField != null)
                        {
                            if (cField.DCP_ControlType == "proc")
                            {
                                ADOSys_PD_Filed fieldInstance = new ADOSys_PD_Filed();

                                DataTable refDate = fieldInstance.GetProcData(cField.DCP_RefSQL, cell.Value.ToString());
                                if (refDate != null && refDate.Rows.Count > 0)
                                {
                                    UltraDropDown drop = new UltraDropDown();
                                    drop.DataSource = refDate.DefaultView;
                                    drop.DisplayMember = cField.DCP_RefValue;
                                    drop.ValueMember = cField.DCP_RefCode;

                                    drop.Tag = cField;
                                    e.Cell.Row.Cells[field.DCP_CControl].ValueList = drop;
                                    drop.Rows.ColumnFilters[cField.DCP_RefValue].FilterConditions.Add(FilterComparisionOperator.Contains, drop.Text);
                                }
                                else
                                {
                                    e.Cell.Row.Cells[field.DCP_CControl].ValueList = null;
                                }
                            }
                        }
                    }
                    //if (field.DCP_ControlType == "proc")
                    //{
                    //    ADOSys_PD_Filed fieldInstance = new ADOSys_PD_Filed();

                    //        DataTable refDate = fieldInstance.GetProcData(field.DCP_RefSQL, e.Cell.Row.Cells[field.DCP_PControl].Value.ToString());
                    //        UltraDropDown drop = new UltraDropDown();
                    //        drop.DataSource = refDate.DefaultView;
                    //        drop.DisplayMember = field.DCP_RefValue;
                    //        drop.ValueMember = field.DCP_RefCode;

                    //        drop.Tag = field;
                    //        cell.ValueList = drop;
                    //        drop.Rows.ColumnFilters[field.DCP_RefValue].FilterConditions.Add(FilterComparisionOperator.Contains, drop.Text);
                    //}
                    if (!string.IsNullOrEmpty(field.DCP_PageName))
                    {
                        string[] arr = field.DCP_PageName.Split(',');
                        foreach (string name in arr)
                        {
                            e.Cell.Row.Cells[name].Value = e.Cell.Text;
                        }
                    }

                }
            }
            catch
            {

            }
        }