Beispiel #1
0
        private void bt_OK_Click(object sender, EventArgs e)
        {
            var dataTable = GetAllFields(flp_DataField);


            var NoInputFields = dataTable.GetTableFields().Where(f => !f.IsExtend && f.NoNull && f.Value == "").ToArray();

            if (NoInputFields.Length > 0)
            {
                MessageBox.Show("\"" + NoInputFields.FirstOrDefault().Name + "\"没有填入值");
                return;
            }
            dataTable.UpdateFieldValue("修改人", UserLogin.UserName);
            dataTable.UpdateFieldValue("修改时间", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            int recordID = 0;

            if (CurrentTable.GetTableFields().Where(f => f.Name.ToUpper() == "ID").FirstOrDefault().Value != "")
            {
                recordID = DBHelper.GetDBHelper().UpdateTableField(dataTable);
            }
            else
            {
                recordID = DBHelper.GetDBHelper().InsertIntoTable(dataTable);
            }
            if (recordID > 0)
            {
                UpdateDocList(dataTable.TableName, recordID);
            }
            this.DialogResult = DialogResult.OK;
        }
Beispiel #2
0
        private bool CreateFromFieldTable(IFieldTable table, WorkingStateEnum workingState)
        {
            TableName = table.TableName;
            if (table == null)
            {
                return(false);
            }
            var proList = workingState.GetType().GetField(workingState.ToString()).GetCustomAttributes(typeof(Exportable), false).FirstOrDefault();

            this.Text = proList != null ? (proList as Exportable).Name.ToString() : "";

            var fields = table.GetTableFields();

            tableLayoutPanel1.SuspendLayout();
            flp_DataField.SuspendLayout();
            if (fields.Where(f => !f.IsExtend).Select(f => f.Name).Any(f => flp_DataField.Controls.Find(f, true).Length == 0))
            {
                flp_DataField.Controls.Clear();
            }

            foreach (TableField field in fields)
            {
                if (!field.IsExtend)
                {
                    AddTextField(flp_DataField, field);
                }
            }
            flp_DataField.ResumeLayout(false);
            flp_DataField.PerformLayout();
            tableLayoutPanel1.ResumeLayout(false);
            tableLayoutPanel1.PerformLayout();
            return(true);
        }
Beispiel #3
0
        public int CreateTable(IConnector connector, IFieldTable table, bool withCommon = true, bool withoutExtend = true)
        {
            string sql    = @"Create Table " + table.TableName + " (";
            var    fields = table.GetTableFields(withCommon, withoutExtend);

            foreach (TableField field in fields)
            {
                sql += field.Name + " " + FixFieldType(field.Type) + (field.NoNull? " NOT NULL " : "") + ",";
            }
            if (sql.Last() == ',')
            {
                sql = sql.Remove(sql.LastIndexOf(','));
            }
            sql += ")";
            int iResult = connector.Excute(sql);

            connector.SetFieldMark(table.TableName, table.TableDiscript, table.GetTableFields(withCommon, withoutExtend));
            return(iResult);
        }
        /// <summary>
        /// 向职能表中插入一条记录
        /// </summary>
        /// <param name="table"></param>
        /// <returns></returns>
        public int InsertIntoTable(IFieldTable table, bool withCommon = true)
        {
            var tableFields = table.GetTableFields(withCommon).Where(f => f.Name.ToUpper() != "ID").ToArray();

            return(InsertIntoTable(table.TableName, tableFields));
            //Connection conn = null;
            //conn = dataSource.getConnection();
            //FileInputStream fis = new FileInputStream(new File(demo.zip));
            ////sql根据自己的实际情况去写,file_content字段属性是varbinary(max);
            //PreparedStream pre = conn.prepareStatment("insert into table (file_content) values(?)");
            //pre.setBlob(1, fis);    //这就是关键的一步,是不是很简单粗暴
            //pre.execute();
        }
 /// <summary>
 /// 获到当前所有文 本框 的值 ,并返回到对象中
 /// </summary>
 /// <returns></returns>
 private IFieldTable GetAllFields(FlowLayoutPanel flp)
 {
     TableField[] fieldList = CurrentTable.GetTableFields().Where(f => !f.IsExtend).ToArray();
     foreach (TableField field in fieldList)
     {
         Control tb = flp.Controls.Find(field.Name, true).FirstOrDefault() as Control;
         if (tb == null)
         {
             continue;
         }
         field.Value = tb.Text;
         CurrentTable.UpdateFieldValue(field);
     }
     return(CurrentTable);
 }
 private void DeviceCareWarnForm_Load(object sender, EventArgs e)
 {
     comboBox1.DataSource            = DBHelper.GetDBHelper().GetTableNames().Select(kv => kv.Key).ToArray();
     comboBox1.DisplayMember         = "报表名称";
     comboBox1.SelectedIndexChanged += (obj, ee) =>
     {
         IFieldTable table = DBHelper.GetDBHelper().GetTableFields(comboBox1.Text);
         comboBox2.DataSource = table.GetTableFields(false).Where(f => f.Type == "smalldatetime" || f.Type == "date").Select(f => f.Name).ToArray();
     };
     dataGridView1.DataSourceChanged += (obj, ee) =>
     {
         foreach (DataGridViewColumn col in dataGridView1.Columns)
         {
             if (col.HeaderText != "设备表名" && col.HeaderText != "保养时间" && col.HeaderText != "保养周期")
             {
                 col.Visible = false;
             }
         }
     };
     dataGridView1.DataSource = DBHelper.GetDBHelper().GetDataFromTable(0, 0, "保养提醒", "");
 }
        /// <summary>
        /// 重新布局界面
        /// </summary>
        /// <param name="tableName"></param>
        /// <param name="table"></param>
        /// <param name="enable"></param>
        public void CreateFromFieldTable(IFieldTable table, WorkingStateEnum workingState)
        {
            this.DataWorkingState = workingState;
            CurrentTable          = table;
            var fields = table.GetTableFields();

            tableLayoutPanel1.SuspendLayout();
            flp_SearchField.SuspendLayout();

            flp_SearchField.Controls.Clear();
            foreach (TableField field in fields)
            {
                //添加查询字段
                if (field.IsSearched)
                {
                    AddTextField(flp_SearchField, field, true);
                }
            }
            flp_SearchField.ResumeLayout(false);
            flp_SearchField.PerformLayout();
            tableLayoutPanel1.ResumeLayout(false);
            tableLayoutPanel1.PerformLayout();
        }
        /// <summary>
        /// 更新职能表中的某一条记录
        /// </summary>
        /// <param name="table"></param>
        /// <returns></returns>
        public int UpdateTableField(IFieldTable table)
        {
            var tableFields = table.GetTableFields();

            return(UpdateTableField(table.TableName, tableFields.Where(f => f.Name.ToUpper() == "ID").FirstOrDefault().Value, tableFields));
        }
Beispiel #9
0
        /// <summary>
        /// 重新布局界面
        /// </summary>
        /// <param name="tableName"></param>
        /// <param name="table"></param>
        /// <param name="enable"></param>
        public bool CreateFromFieldTable(IFieldTable table, WorkingStateEnum workingState, bool uploadFile)
        {
            RecordID = table.GetFieldValue("ID");
            if (GoalTables.Contains(TableName) && workingState == WorkingStateEnum.View)
            {
                DataDetailFrom ddf = new DataDetailFrom(this.TableModeName)
                {
                    Text = bt_CreateDetail.Text, Name = this.TableName, DataID = RecordID
                };
                ddf.ShowDialog();
                this.DialogResult = DialogResult.OK;
                return(false);
            }
            TableName         = table.TableName;
            pictureBox1.Image = null;
            if (table == null)
            {
                return(false);
            }
            CurrentTable = table;
            lv_Doc.Items.Clear();
            if (uploadFile)
            {
                OpenFileDialogForm ofd = new OpenFileDialogForm();
                if (ofd.ShowDialog() == DialogResult.OK)
                {
                    foreach (var file in ofd.FileNames)
                    {
                        lv_Doc.Items.Add(new ListViewItem(Path.GetFileName(file))
                        {
                            Name = file
                        });
                    }
                }
                else
                {
                    this.DialogResult = DialogResult.Cancel;
                    return(false);
                }
            }
            var proList = workingState.GetType().GetField(workingState.ToString()).GetCustomAttributes(typeof(Exportable), false).FirstOrDefault();

            this.Text = proList != null?(proList as Exportable).Name.ToString():"";

            var fields = table.GetTableFields();

            tableLayoutPanel1.SuspendLayout();
            flp_DataField.SuspendLayout();
            if (fields.Where(f => !f.IsExtend).Select(f => f.Name).Any(f => flp_DataField.Controls.Find(f, true).Length == 0))
            {
                flp_DataField.Controls.Clear();
            }

            foreach (TableField field in fields)
            {
                if (field.IsExtend)
                {
                    if (field.Name == "ID" && field.Value != "")
                    {
                        var files = DBHelper.GetDBHelper().GetTableRecordDocList(table.TableName, field.Value);
                        if (files.Length > 0)
                        {
                            lv_Doc.Items.AddRange(files.Select(f => new ListViewItem(Path.GetFileName(f))
                            {
                                Name = f
                            }).ToArray());
                        }
                    }
                    continue;
                }
                AddTextField(flp_DataField, field);
            }
            flp_DataField.ResumeLayout(false);
            flp_DataField.PerformLayout();
            tableLayoutPanel1.ResumeLayout(false);
            tableLayoutPanel1.PerformLayout();
            return(true);
        }
        /// <summary>
        /// 重新布局界面
        /// </summary>
        /// <param name="tableName"></param>
        /// <param name="table"></param>
        /// <param name="enable"></param>
        public bool CreateFromFieldTable(IFieldTable table, WorkingStateEnum workingState, bool uploadFile)
        {
            TableName         = table.TableName;
            pictureBox1.Image = null;
            if (table == null)
            {
                return(false);
            }
            CurrentTable = table;
            lv_Doc.Items.Clear();
            if (uploadFile)
            {
                OpenFileDialogForm ofd = new OpenFileDialogForm();
                if (ofd.ShowDialog() == DialogResult.OK)
                {
                    foreach (var file in ofd.FileNames)
                    {
                        lv_Doc.Items.Add(new ListViewItem(Path.GetFileName(file))
                        {
                            Name = file
                        });
                    }
                }
                else
                {
                    this.DialogResult = DialogResult.Cancel;
                    return(false);
                }
            }
            var proList = workingState.GetType().GetField(workingState.ToString()).GetCustomAttributes(typeof(Exportable), false).FirstOrDefault();

            this.Text = proList != null?(proList as Exportable).Name.ToString():"";

            var fields = table.GetTableFields();

            tableLayoutPanel1.SuspendLayout();
            DataTable     dt     = new DataTable();
            List <string> values = new List <string>();

            dt.Columns.AddRange(fields.Where(f => !f.IsExtend || f.Name != "ID").Select(f => new DataColumn(f.Name)).ToArray());
            dt.Rows.Add(fields.Where(f => !f.IsExtend || f.Name != "ID").Select(f => f.Value).ToArray());
            string id = fields.Where(f => f.Name == "ID").Select(f => f.Value).FirstOrDefault();

            this.reportViewer1.LocalReport.DataSources.Clear();
            this.reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("DataSet1", dt));

            this.reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("DataSet2", GetImages(id)));
            this.reportViewer1.RefreshReport();
            foreach (TableField field in fields)
            {
                if (field.IsExtend)
                {
                    if (field.Name == "ID" && field.Value != "")
                    {
                        RecordID = field.Value;
                        var files = DBHelper.GetDBHelper().GetTableRecordDocList(table.TableName, field.Value);
                        if (files.Length > 0)
                        {
                            lv_Doc.Items.AddRange(files.Select(f => new ListViewItem(Path.GetFileName(f))
                            {
                                Name = f
                            }).ToArray());
                        }
                        break;
                    }
                }
            }
            tableLayoutPanel1.ResumeLayout(false);
            tableLayoutPanel1.PerformLayout();
            return(true);
        }
 private void SaveData(bool msgBox = false)
 {
     if (!DBHelper.GetDBHelper().ExistTable(Name + DataDetailFlag))
     {
         List <TableField> fields = new List <TableField>();
         fields.Add(new TableField()
         {
             Name = "DataID"
         });
         fields.AddRange(GetTable(TotalDataTable, Name + DataDetailFlag).GetTableFields(false, false).ToArray());
         DBHelper.GetDBHelper().CreateTable(TableMode, Name + DataDetailFlag, fields.ToArray(), false, false);
     }
     //if(DataID!="")
     //    DBHelper.GetDBHelper().DelDataFromTable(Name + DataDetailFlag, DataID, "DataID");
     //DataTable dt = DBHelper.GetDBHelper().GetDataFromTable(0, 0, Name + DataDetailFlag, "DataID='" + DataID + "'");
     foreach (DataRow row in TotalDataTable.Rows)
     {
         IFieldTable tableFields = GetFieldTable(TotalDataTable, row, Name + DataDetailFlag);
         tableFields.AddField(new TableField()
         {
             Name = "DataID", Type = TableField.FieldTypeList[TableFieldType.文本], Value = DataID
         });
         if (!TotalDataTable.Columns.Contains("ID"))
         {
             DBHelper.GetDBHelper().InsertIntoTable(tableFields, false);
         }
         else
         {
             DBHelper.GetDBHelper().UpdateTableField(Name + DataDetailFlag, row["ID"].ToString(), tableFields.GetTableFields(false));
         }
     }
     TotalDataTable = DBHelper.GetDBHelper().GetDataFromTable(0, 0, Name + DataDetailFlag, "DataID ='" + DataID + "'");
     if (msgBox && MessageBox.Show("保存完成!是否退出?", "退出?", MessageBoxButtons.YesNo) == DialogResult.Yes)
     {
         this.Close();
     }
 }