Пример #1
0
        public Form1(string[] args)
        {
            InitializeComponent();
            if (args.Length == 2) // svn 整合
            {
                CompareFile(args[0], args[1]);
                this.Dispose();
            }
            else if (args.Length == 0) // 批量导出
            {
                string client1 = string.Empty;
                string client2 = string.Empty;
                string files   = string.Empty;

                // 读取ini文件
                string        strIniFile = Application.StartupPath + "/批量输出.ini";
                StringBuilder sb         = new StringBuilder(25600);
                FileFolderHelper.ReadIniFile("main", "client1", "", sb, 255, strIniFile);
                client1 = sb.ToString();
                FileFolderHelper.ReadIniFile("main", "client2", "", sb, 255, strIniFile);
                client2 = sb.ToString();
                FileFolderHelper.ReadIniFile("main", "files", "", sb, 25600, strIniFile);
                files = sb.ToString();
                string[] arrFiles = files.Split(',');
                textOutputCfg.Text = string.Empty;
                foreach (string file in arrFiles)
                {
                    textOutputCfg.Text += file;
                    textOutputCfg.Text += "\r\n";
                }
            }
        }
Пример #2
0
        private void ReadTab(string input)
        {
            tblAll = FileToDataTable(input);

            string        strIniFile = Application.StartupPath + "/config_public.ini";
            StringBuilder sb         = new StringBuilder(255);

            // 忽略列
            string[] arrIgnoreCols = null;
            FileFolderHelper.ReadIniFile("IgnoreColumns", "Count", "", sb, 255, strIniFile);
            int IgnoreCount = Convert.ToInt32(sb.ToString());

            for (int j = 1; j <= IgnoreCount; j++)
            {
                FileFolderHelper.ReadIniFile("IgnoreColumns", "Table" + j.ToString(), "", sb, 255, strIniFile);
                string tabName = sb.ToString();
                FileFolderHelper.ReadIniFile("IgnoreColumns", "Columns" + j.ToString(), "", sb, 255, strIniFile);
                string columns = sb.ToString();

                if (tabName.ToLower() == m_filename.ToLower())
                {
                    arrIgnoreCols = columns.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                    break;
                }
            }

            // ui
            int i = 0;

            foreach (DataColumn col in tblAll.Columns)
            {
                string colname = col.ColumnName;

                // 判断是否被ignore了。
                bool bColIsIgnored = false;
                if (arrIgnoreCols != null)
                {
                    foreach (string ignoreCol in arrIgnoreCols)
                    {
                        if (ignoreCol.ToLower() == colname.ToLower())
                        {
                            bColIsIgnored = true;
                            break;
                        }
                    }
                }
                if (bColIsIgnored)
                {
                    continue;
                }

                // 没有ignore,添加checkbox
                CheckBox checkbox = new CheckBox();
                checkbox.AutoSize = true;
                checkbox.Location = CalculateCheckPos(i);
                checkbox.Name     = "checkBox" + i.ToString();
                checkbox.Size     = new System.Drawing.Size(78, 16);
                checkbox.TabIndex = i;
                checkbox.Text     = colname;
                checkbox.UseVisualStyleBackColor = true;
                checkbox.Checked = true;
                if (ColIsNames(colname) || ColIsKey(colname))
                {
                    checkbox.Enabled = false;
                }
                checkbox.CheckedChanged += new System.EventHandler(this.checkBox_CheckedChanged);
                this.splitContainer1.Panel1.Controls.Add(checkbox);
                checkboxes.Add(checkbox);

                i++;
            }

            // datagridview
            this.dataGridView1.DataSource = tblAll;
            foreach (DataGridViewColumn col in dataGridView1.Columns)
            {
                if (ColIsKey(col.Name) || ColIsNames(col.Name))
                {
                    col.Frozen = true;
                }
            }

            // 去掉ignore的列。
            if (arrIgnoreCols != null)
            {
                foreach (string col in arrIgnoreCols)
                {
                    if (tblAll.Columns.Contains(col))
                    {
                        tblAll.Columns.Remove(col);
                    }
                }
                ReCalculateTable();
            }

            // 着色
            FileFolderHelper.ReadIniFile("ColoredColumns", "Count", "", sb, 255, strIniFile);
            int ColoredTabCount = Convert.ToInt32(sb.ToString());

            for (int j = 1; j <= ColoredTabCount; j++)
            {
                FileFolderHelper.ReadIniFile("ColoredColumns", "Table" + j.ToString(), "", sb, 255, strIniFile);
                string tabName = sb.ToString();
                FileFolderHelper.ReadIniFile("ColoredColumns", "ColumnColors" + j.ToString(), "", sb, 255, strIniFile);
                string tabColColors = sb.ToString();

                if (tabName.ToLower() == m_filename.ToLower())
                {
                    string[] arrColColors = tabColColors.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                    foreach (string colColor in arrColColors)
                    {
                        string[] col_and_color = colColor.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                        string   col           = col_and_color[0];
                        string   color         = col_and_color[1];
                        if (dataGridView1.Columns[col] != null)
                        {
                            dataGridView1.Columns[col].DefaultCellStyle.BackColor = Color.FromName(color);
                        }
                    }

                    break;
                }
            }
        }