private static void SetEditRulesNumber(FapColumn fapColumn, EditRules editRules) { editRules.Number = true; if (fapColumn.MaxValue != 0 || fapColumn.MinValue != 0) { editRules.MaxValue = fapColumn.MaxValue; fapColumn.MinValue = fapColumn.MinValue; } }
private void dataGridRules_CellContentClick(object sender, DataGridViewCellEventArgs e) { int selectedrowindex = dataGridRules.SelectedCells[0].RowIndex; DataGridViewRow selectedRow = dataGridRules.Rows[selectedrowindex]; int id_rules = Convert.ToInt32(selectedRow.Cells["id_rules"].Value); EditRules er = new EditRules(id_rules); er.Show(); }
private void btnRulesEdit_Click(object sender, EventArgs e) { EditRules er = new EditRules(1); er.Show(); }
/// <summary> /// Sets the columns edit rules /// SetEditable(true) must be called for this to be respected. /// </summary> /// <param name="editRules"></param> /// <returns></returns> public GridColumn SetEditRules(EditRules editRules) { _editRules = editRules; return(this); }
/// <summary> /// /// </summary> /// <param name="fapColumn"></param> /// <param name="disCols">手动设置可见的字段,默认可能为不可见</param> /// <param name="hideCols">要隐藏的字段</param> /// <returns></returns> public static Column ToColumn(this FapColumn fapColumn, IMultiLangService multiLang, IDbContext dbContext) { //判断是否为隐藏。当disCols不包含且 ShowAble==0 bool hideAble = fapColumn.ShowAble == 0; string colName = fapColumn.ColName; //if (colName.EndsWith("MC") && fapColumn.CtrlType == FapColumn.CTRL_TYPE_REFERENCE) //{ // colName = colName.Substring(0, colName.Length - 2); //} //如果是参照字段,隐藏之,显示MC字段 //if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_REFERENCE && !hideAble && fapColumn.IsCustomColumn == 0) //{ // hideAble = true; //} string columnName = fapColumn.ColName; if (fapColumn.IsMultiLang == 1) { string langName = multiLang.CurrentLanguageName; if (langName != MultiLanguageEnum.ZhCn.ToString()) { columnName += langName; } } //fapColumn.CtrlType Column col = new Column(fapColumn); string label = multiLang.GetMultiLangValue(MultiLanguageOriginEnum.FapColumn, $"{fapColumn.TableName}_{fapColumn.ColName}"); col.SetLabel(label); col.SetKey(fapColumn.ColType == FapColumn.COL_TYPE_PK); col.SetWidth(fapColumn.DisplayWidth); col.SetHidden(hideAble).SetHidelg(hideAble).SetColmenu(true); col.SetEditable(fapColumn.EditAble == 1); //编辑规则 EditRules editRules = new EditRules(); col.SetEditRules(editRules); if (fapColumn.NullAble == 0) { editRules.Required = true; } if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_CHECKBOX) { col.SetFormatter(Enums.Formatters.Checkbox); //编辑设置 col.SetEditType(Enums.EditType.Checkbox); EditOptions eo = new EditOptions() { Value = "1:0" }; col.SetEditOptions(eo); //查询设置 col.SetSearchType(Enums.Searchtype.Select); col.SetSearchOption(Enums.SearchOptions.Equal); col.SetSearchOption(Enums.SearchOptions.NotEqual); IDictionary <string, string> searchTerms = new Dictionary <string, string>(); searchTerms.Add("1", "是"); searchTerms.Add("0", "否"); col.SetSearchTerms(searchTerms); //默认ACE样式函数 //col.SetUnFormat("aceSwitch"); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_COMBOBOX) { if (fapColumn.MultiAble == 1) { col.SetCustomFormatter("formatCheckboxList"); col.SetUnFormat("unformatCheckboxList"); } else { col.SetFormatter(Enums.Formatters.Select); //编辑设置 col.SetEditType(Enums.EditType.Select); IEnumerable <FapDict> list = dbContext.Dictionarys(fapColumn.ComboxSource); if (list != null && list.Any()) { string codeValues = string.Join(";", list.Select(c => c.Code + ":" + c.Name).ToList()); EditOptions eo = new EditOptions() { Value = codeValues }; //" getCodeData('" + fapColumn.RefTable + "')"}; col.SetEditOptions(eo); //查询设置 col.SetSearchType(Enums.Searchtype.Select); col.SetSearchOption(Enums.SearchOptions.Equal); col.SetSearchOption(Enums.SearchOptions.NotEqual); IDictionary <string, string> searchTerms = new Dictionary <string, string>(); foreach (var item in list) { searchTerms.Add(item.Code, item.Name); } col.SetSearchTerms(searchTerms); } } } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_CHECKBOXLIST) { col.SetCustomFormatter("formatCheckboxList"); col.SetUnFormat("unformatCheckboxList"); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_DATE || fapColumn.CtrlType == FapColumn.CTRL_TYPE_DATETIME) { string fmt = fapColumn.DisplayFormat; col.SetEditType(Enums.EditType.Text); EditOptions editoptions = new EditOptions(); col.SetEditOptions(editoptions); if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_DATE) { if (fmt.EqualsWithIgnoreCase("yyyy")) { fmt = "Y"; } else if (fmt.EqualsWithIgnoreCase("yyyy-mm")) { fmt = "Y-m"; } else { fmt = "Y-m-d"; } col.SetFormatter(Enums.Formatters.Date, "srcformat:\"" + fmt + "\",newformat:\"" + fmt + "\""); //查询设置 col.SetSearchType(Enums.Searchtype.Datepicker); } else { if (fmt.IsPresent() && fmt.EqualsWithIgnoreCase("HH:mm")) { fmt = "H:i"; } else { fmt = "Y-m-d H:i:s"; } col.SetFormatter(Enums.Formatters.Date, "srcformat:\"" + fmt + "\",newformat:\"" + fmt + "\""); //查询设置 col.SetSearchType(Enums.Searchtype.Datetimepicker); } //编辑设置 editoptions.DataInit = @"function (element) { $(element).datepicker({ id: '" + fapColumn.ColName + @"_datePicker', dateFormat: '" + fmt + @"', //minDate: new Date(2010, 0, 1), maxDate: new Date(2030, 0, 1), showOn: 'focus' }); }"; //默认ACE样式函数 //col.SetUnFormat("pickDate"); //col.SetDataInit("initDateSearch"); col.SetSearchDateFormat(fapColumn.DisplayFormat); col.SetSearchOption(Enums.SearchOptions.Equal); col.SetSearchOption(Enums.SearchOptions.NotEqual); col.SetSearchOption(Enums.SearchOptions.Greater); col.SetSearchOption(Enums.SearchOptions.GreaterOrEqual); col.SetSearchOption(Enums.SearchOptions.Less); col.SetSearchOption(Enums.SearchOptions.LessOrEqual); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_DOUBLE || fapColumn.CtrlType == FapColumn.CTRL_TYPE_MONEY) { SetEditRulesNumber(fapColumn, editRules); //inline 编辑设置 col.SetEditType(Enums.EditType.Text); EditOptions editopt = new EditOptions(); editopt.DataInit = @"function (element) { $(element).TouchSpin({ step: 1, decimals: 2, boostat: 5, maxboostedstep: 10 }); }"; //col.SetFormatter(Enums.Formatters.Currency); if (fapColumn.DisplayFormat == "%") { col.SetFormatter(Enums.Formatters.Percent); } //col.SetFormatter(Enums.Formatters.Number, "thousandsSeparator: ','"); col.SetSearchOption(Enums.SearchOptions.Equal); col.SetSearchOption(Enums.SearchOptions.NotEqual); col.SetSearchOption(Enums.SearchOptions.Greater); col.SetSearchOption(Enums.SearchOptions.GreaterOrEqual); col.SetSearchOption(Enums.SearchOptions.Less); col.SetSearchOption(Enums.SearchOptions.LessOrEqual); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_INT) { SetEditRulesNumber(fapColumn, editRules); //inline 编辑设置 col.SetEditType(Enums.EditType.Text); EditOptions editopt = new EditOptions(); editopt.DataInit = @"function (element) { $(element).TouchSpin({ step: 1, boostat: 5, maxboostedstep: 10 }); }"; col.SetFormatter(Enums.Formatters.Integer); col.SetSearchOption(Enums.SearchOptions.Equal); col.SetSearchOption(Enums.SearchOptions.NotEqual); col.SetSearchOption(Enums.SearchOptions.Greater); col.SetSearchOption(Enums.SearchOptions.GreaterOrEqual); col.SetSearchOption(Enums.SearchOptions.Less); col.SetSearchOption(Enums.SearchOptions.LessOrEqual); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_CITY) { //城市 col.SetEditType(Enums.EditType.Text); EditOptions editoptions = new EditOptions(); editoptions.DataInit = @"function (element) { $(element).cityselect(); }"; col.SetEditOptions(editoptions); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_NATIVE) { //籍贯 col.SetEditType(Enums.EditType.Text); EditOptions editoptions = new EditOptions(); editoptions.DataInit = @"function (element) { $(element).citypicker(); }"; col.SetEditOptions(editoptions); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_REFERENCE) { col.SetSearchType(Enums.Searchtype.Reference); col.SetSearchOption(Enums.SearchOptions.IsIn); col.SetSearchOption(Enums.SearchOptions.IsNotIn); col.SetCustomFormatter("formatReference"); col.SetUnFormat("unformatReference"); col.SetEditType(Enums.EditType.Custom); EditOptions editoptions = new EditOptions(); editoptions.DataInit = @"function (element) { $(element).find('input:text').on(ace.click_event,function(e){$(this).next().trigger(ace.click_event);e.preventDefault();}); $(element).find('input:text').next().on(ace.click_event, function(){ var $this=$(this).prev(); openRefrenceWindow('" + fapColumn.ColComment + "选择','" + fapColumn.Fid + @"','" + fapColumn.RefType + @"',function(code,name){ $this.val(name).data('value',code); $this.closest('td').next().find('input:text').val(name); },function(){ $this.val('').data('value',''); }) }); }"; editoptions.Custom_element = "createReferenceEditElement"; //创建元素 editoptions.Custom_value = "getReferenceElementValue"; //获取值 col.SetEditOptions(editoptions); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_FILE) { //附件 col.SetCustomFormatter("attachmentInfo"); col.SetUnFormat("unattachmentInfo"); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_IMAGE) { col.SetCustomFormatter("formatImage"); col.SetUnFormat("unformatImage"); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_TEXT) { SetTextSearchOption(col); } else if (fapColumn.CtrlType == FapColumn.CTRL_TYPE_EMAIL) { SetTextSearchOption(col); editRules.Email = true; } else { SetTextSearchOption(col); } return(col); }