private void BtnSave_Click(object sender, EventArgs e) { DBColumn dbColumn = new DBColumn() { ColumnName = txtColumnName.Text, AllowNull = checkBoxAllowNull.Checked, DbType = JFieldType.String, }; int length = 0; if (!string.IsNullOrEmpty(txtLength.Text)) { int.TryParse(txtLength.Text, out length); dbColumn.Length = length; } if (!string.IsNullOrEmpty(comboBoxSQLDBType.Text)) { JFieldType dbType; if (Enum.TryParse <JFieldType>(comboBoxSQLDBType.Text, out dbType)) { dbColumn.DbType = dbType; } } JField field = new JField(dbColumn); if (AddFieldDelegate != null) { AddFieldDelegate(field); } this.Close(); }
public TreeNode PrepareNode(JField field) { var fieldNode = new TreeNode(field.FieldName); fieldNode.Tag = field.FieldName; if (field.ValueType == JFieldType.DateTime) { fieldNode.ImageIndex = fieldNode.SelectedImageIndex = 4; } else if (field.ValueType == JFieldType.Numeric) { fieldNode.ImageIndex = fieldNode.SelectedImageIndex = 5; } else { fieldNode.ImageIndex = fieldNode.SelectedImageIndex = 1; } if (!field.Visible) { if (!field.AllowNull) { fieldNode.ForeColor = Color.Red; } else { fieldNode.ForeColor = Color.OrangeRed; } } return(fieldNode); }
private static JField visitField(Field fe) { var fe2 = new JField(); visitMember(fe, fe2); fe2.Type = visitType(fe.GenericType); return(fe2); }
public JField ConvertField(XField field, ParentObjectInfo parentInfo) { if (field.ID == null) { throw new Exception("Объект field не может быть преобразован в JField"); } if (string.IsNullOrEmpty(parentInfo.CardVersion)) { throw new Exception("У поля " + field.Alias + " отсутствует версия (карточки)"); } if (parentInfo.CardLibID == null || parentInfo.CardLibID == Guid.Empty) { throw new Exception("У поля " + field.Alias + " отсутствует идентификатор библиотеки карточек"); } if (parentInfo.CardID == null || parentInfo.CardID == Guid.Empty) { throw new Exception("У поля " + field.Alias + " отсутствует идентификатор карточки"); } if (parentInfo.SectionID == null || parentInfo.SectionID == Guid.Empty) { throw new Exception("У поля " + field.Alias + " отсутствует идентификатор секции"); } var version = new JFieldVersion { SystemVersion = parentInfo.SystemVersion, Version = parentInfo.CardVersion, FieldType = field.Type, RefType = field.RefType, RefSection = field.RefSection, DefaultValue = field.DefaultValue, EnumValues = field.Enum != null?field.Enum.Select(t => $"{t.Alias}[{t.Value}]").ToArray() : new string[0], }; var jField = new JField { ID = field.ID, Alias = field.Alias, Name = GetRuName(field.Names), CardLibID = parentInfo.CardLibID, CardID = parentInfo.CardID, ParentSectionID = parentInfo.SectionID, Versions = new List <JFieldVersion> { version } }; return(jField); }
void WriteField(DatWriter w, JField field) { w.WriteUInt8((byte)field.type); w.WriteUtf8(field.field); if (field.klass == null) { return; } w.WriteUInt8(TC_STRING); w.WriteUtf8(field.klass); }
private void BindFieldInfo(JField field) { if (field == null) { return; } lbFieldName.Text = field.FieldName; cBoxValueType.Text = field.ValueType.ToJString(); cBoxVisible.Text = field.Visible.ToJString("True"); cBoxOperator.Text = field.Operator; operandCtrl1.LoadJOperateNum(field.FirstOperand, field.FieldName); operandCtrl2.LoadJOperateNum(field.SecondOperand, field.FieldName); }
private void visualeMenuItemOfDst_Click(object sender, EventArgs e) { try { if (tvDst.SelectedNode.Parent != null) { string fieldName = tvDst.SelectedNode.Tag.ToString(); JField field = TableSetting.Fields.Where(f => f.FieldName == fieldName).FirstOrDefault(); field.SetVisible(!field.Visible); BindFieldInfo(field); } } catch (Exception ex) { MessageBox.Show(ex.Message, "设置是否生成该列数据", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void tvDst_AfterSelect(object sender, TreeViewEventArgs e) { if (tvDst.SelectedNode.Parent != null) { string fieldName = tvDst.SelectedNode.Tag.ToString(); IEnumerable <string> allFieldNames = TableSetting.Fields.Select(row => row.FieldName); operandCtrl1.PreLoad(allFieldNames); operandCtrl2.PreLoad(allFieldNames); JField field = TableSetting.Fields.Where(f => f.FieldName == fieldName).FirstOrDefault(); BindFieldInfo(field); tabControl1.SelectedIndex = 0; } else { BindTableInfo(); tabControl1.SelectedIndex = 1; } }
void WriteValue(DatWriter w, JField field) { switch (field.type) { case 'I': w.WriteInt32((int)field.value); break; case '[': w.WriteUInt8(TC_ARRAY); WriteClassDesc(w, "[B", new JField[0]); w.WriteInt32(((byte[])field.value).Length); w.WriteBytes((byte[])field.value); break; default: throw new InvalidOperationException("Can't write fields of type " + field.type); } }
Field Visit(JField fe) { var me2 = new Field { Name = fe.Name, IsInternal = !fe.IsProtected && !fe.IsPrivate && !fe.IsPublic, IsProtected = fe.IsProtected, IsStatic = fe.IsStatic, IsReadOnly = fe.IsFinal, //IsVirtual = !fe.IsFinal, //TypeRef = ResolveAndFix(fe.Type), }; OnProcessMemberTypes.Do(() => { me2.Type = ResolveAndFix(fe.Type, me2.DeclaringClass); }); OnVisit(fe, me2); return(me2); }
void WriteValue(DatWriter w, JField field) { switch (field.type) { case 'I': w.WriteInt32((int)field.value); break; case '[': w.WriteUInt8(TC_ARRAY); WriteClassDesc(w, "[B", new JField[0]); w.WriteInt32(((byte[])field.value).Length); //w.WriteBytes((byte[])field.value); // NOTE: need to convert since level might have blocks that don't exist in classic WriteLevelBlocks(w.dst, (byte[])field.value); break; default: throw new InvalidOperationException("Can't write fields of type " + field.type); } }
private void btnSaveFieldInfo_Click(object sender, EventArgs e) { try { if (tvDst.SelectedNode == null || tvDst.SelectedNode.ImageIndex == 0) { this.ShowMessage("请在左侧树中选择字段!"); return; } string fieldName = tvDst.SelectedNode.Tag.ToString(); string tableName = tvDst.SelectedNode.Parent.Tag.ToString(); JField field = TableSetting.Fields.Where(f => f.FieldName == fieldName).FirstOrDefault(); field.ValueType = (JFieldType)Enum.Parse(typeof(JFieldType), cBoxValueType.Text, true); field.SetVisible(bool.Parse(cBoxVisible.Text)); field.FirstOperand = operandCtrl1.GetOperateNum(); field.SecondOperand = operandCtrl2.GetOperateNum(); field.Operator = cBoxOperator.Text; if (field.FirstOperand.ValueCategroy == JValueCategroy.OtherField) { field.Order = TableSetting.Order; TableSetting.Order = TableSetting.Order + 1; } if (TableSetting.DataCount == 0) { tabControl1.SelectedIndex = 1; } tvDst.SelectedNode.ForeColor = Color.Green; this.ShowMessage("表【{0}】字段【{1}】配置信息保存成功!", tableName, fieldName); TableSetting.Modified = true; } catch (Exception ex) { MessageBox.Show(ex.ToString(), "设置生成规则失败", MessageBoxButtons.OK, MessageBoxIcon.Error); } }