Пример #1
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);
        }
Пример #2
0
 public void CreateNew(string modeName = "")
 {
     DataWorkingState = WorkingStateEnum.Creating;
     if (RegulationTables.Contains(this.TableName))
     {
         RegulationFrom rf = new RegulationFrom()
         {
             Text = this.TableName, TableName = this.TableName, EditEnable = true, CurrentFieldTable = DBHelper.GetDBHelper().GetTableFields(this.TableName)
         };
         if (rf.ShowDialog() == DialogResult.OK)
         {
             DataSource = DBHelper.GetDBHelper().GetDataFromTable(0, 0, this.TableName, "");
         }
         this.DataWorkingState = WorkingStateEnum.Search;
     }
     else
     {
         NewDataForm ndf = new NewDataForm()
         {
             TableModeName = modeName, TableName = this.TableName
         };
         if (ndf.CreateFromFieldTable(DBHelper.GetDBHelper().GetTableFields(this.TableName), WorkingStateEnum.Creating, false))
         {
             if (ndf.ShowDialog() == DialogResult.OK)
             {
                 this.DataSource = DBHelper.GetDBHelper().GetDataFromTable(0, 0, this.TableName, "");
             }
             ;
         }
         this.DataWorkingState = WorkingStateEnum.Search;
     }
 }
Пример #3
0
        public void CreateFromField(IFieldTable table, DataGridViewRow row, WorkingStateEnum workingState, bool uploadFile)
        {
            var file = Directory.GetFiles("RDLC").Where(f => this.TemplateName.Equals(Path.GetFileNameWithoutExtension(f))).FirstOrDefault();

            if (workingState == WorkingStateEnum.View && file != null)
            {
                ViewDataForm ndf = new ViewDataForm(file);
                if (ndf.CreateFromFieldTable(table, WorkingStateEnum.View, false))
                {
                    ndf.TableName = table.TableName;
                    if (ndf.ShowDialog() == DialogResult.OK)
                    {
                        DataSource = DBHelper.GetDBHelper().GetDataFromTable(0, 0, TemplateName, "");
                    }
                }
            }

            else if (row != null && RegulationTables.Contains(this.TableName))
            {
                string fileName = "";
                foreach (DataGridViewColumn col in row.DataGridView.Columns)
                {
                    if (col.HeaderText.Contains("名称"))
                    {
                        fileName = row.Cells[col.Name].Value.ToString();
                    }
                }
                if (fileName == "")
                {
                    fileName = this.TableName + row.Cells["ID"].Value.ToString();
                }

                Byte[]         bytes  = DBHelper.GetDBHelper().GetDocFromTableRecordBytes(this.TableName, row.Cells["ID"].Value.ToString(), fileName);
                MemoryStream   stream = new MemoryStream(bytes);
                RegulationFrom rf     = new RegulationFrom()
                {
                    Text = this.TableName, TableName = this.TableName, EditEnable = false, RegulationFileStream = stream, CurrentFieldTable = table
                };
                rf.ShowDialog();
            }
            else
            {
                NewDataForm ndf = new NewDataForm()
                {
                    TableName = this.TableName, TableModeName = this.TableModeName
                };
                if (ndf.CreateFromFieldTable(table, workingState, uploadFile))
                {
                    ndf.TableName = table.TableName;
                    if (ndf.ShowDialog() == DialogResult.OK)
                    {
                        DataSource = DBHelper.GetDBHelper().GetDataFromTable(0, 0, TableName, "");
                    }
                }
            }
        }
Пример #4
0
        public bool CreateFromFieldTable(DataTable table, WorkingStateEnum workingState, bool uploadFile)
        {
            TableName = table.TableName;
            this.tableLayoutPanel1.SuspendLayout();
            groupBox1.Visible = false;
            groupBox3.Visible = false;

            this.tableLayoutPanel1.ResumeLayout(false);
            this.tableLayoutPanel1.PerformLayout();
            return(true);
        }
Пример #5
0
        public bool CreateFromFieldTable(DataTable table, WorkingStateEnum workingState, bool uploadFile)
        {
            TableName = table.TableName;
            this.tableLayoutPanel1.SuspendLayout();
            groupBox1.Visible = false;
            groupBox3.Visible = false;

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

            this.tableLayoutPanel1.ResumeLayout(false);
            this.tableLayoutPanel1.PerformLayout();
            return(true);
        }
Пример #6
0
        public void EditRow(DataGridViewRow row, WorkingStateEnum state = WorkingStateEnum.Editting)
        {
            if (state == WorkingStateEnum.View && !RowReportTables.Contains(this.TableName))
            {
                if (CreateFromField(dataGridView1.DataSource as DataTable, row, WorkingStateEnum.View, false))
                {
                    return;
                }
            }
            DataWorkingState = WorkingStateEnum.Creating;
            IFieldTable table = GetFieldTable(row);

            CreateFromField(table, row, state, false);

            this.DataWorkingState = WorkingStateEnum.Search;
        }
Пример #7
0
        public bool CreateFromField(DataTable table, DataGridViewRow row, WorkingStateEnum workingState, bool uploadFile)
        {
            var file = Directory.GetFiles("RDLC").Where(f => this.TemplateName.Equals(Path.GetFileNameWithoutExtension(f))).FirstOrDefault();

            if (workingState == WorkingStateEnum.View && file != null)
            {
                ViewDataForm ndf = new ViewDataForm(file);
                if (ndf.CreateFromFieldTable(table, WorkingStateEnum.View, false))
                {
                    ndf.TableName = table.TableName;
                    if (ndf.ShowDialog() == DialogResult.OK)
                    {
                        DataSource = DBHelper.GetDBHelper().GetDataFromTable(0, 0, TemplateName, "");
                    }
                }
                return(true);
            }
            return(false);
        }
Пример #8
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();
        }
Пример #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);
        }
Пример #10
0
        /// <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);
        }