Esempio n. 1
0
        /// <summary>
        /// 生成HTML子页
        /// </summary>
        /// <param name="tableCode">表编码</param>
        /// <param name="tableName">表名称</param>
        /// <param name="tableAlias">表别名</param>
        /// <param name="directory">输出路径</param>
        /// <param name="itemsPath">模板路径</param>
        private static void BuildItems(Guid tableCode, string tableName, string tableAlias, string directory, string itemsPath)
        {
            IList <Column> columnlist = DColumn.GetColumn(tableCode);
            string         tableStr   = @"<table style=""width: 100%;"">
            <tr class=""text-center""><th style=""width:60px"">序号</th><th>字段</th><th>类型</th><th>说明</th><th>作者</th><th>时间</th></tr>";

            for (int k = 0; k < columnlist.Count; k++)
            {
                tableStr += string.Format(@"<tr><td style=""padding-left:10px;"">{0}</td>
                <td>{1}</td><td>{2}</td><td>{3}</td><td class=""text-center"">{4}</td><td class=""text-center"">{5}</td></tr>",
                                          k + 1, columnlist[k].Name, columnlist[k].Type, columnlist[k].Bewrite, columnlist[k].Author, columnlist[k].CreateTime.ToString("yyyy年MM月dd日 HH:mm:ss"));
            }
            tableStr += "</table>";
            string[] itemsTemp = new string[] { "@title", "@name", "@alias", "@table", "@footer" };
            string[] itemsHtml = new string[] { tableAlias, tableName, tableAlias, tableStr, "DBVortaro" };
            DTemplates.WriteHtml(itemsTemp, itemsHtml, itemsPath, directory);
        }
Esempio n. 2
0
        /// <summary>
        /// 生成HTML首页
        /// </summary>
        /// <param name="projectCode">项目编码</param>
        /// <param name="fileName">文件名称</param>
        /// <param name="directory">输出路径</param>
        /// <param name="indexPath">首页模板路径</param>
        /// <param name="itemsPath">子页模板路径</param>
        private static void BuildIndex(string projectCode, string fileName, string directory, string indexPath, string itemsPath)
        {
            string           tableStr     = string.Empty; //表格
            IList <Database> databaselist = DDatabase.GetDatabase(new Guid(projectCode));
            int  rowspan = 0;                             //分组跨行计数
            bool merger  = false;                         //是否合并

            for (int k = 0; k < databaselist.Count; k++)
            {
                DataTable tableslist = DTables.GetTables2(databaselist[k].Code);
                if (tableslist.Rows.Count > 0)//是否存在表字段
                {
                    tableStr += @"
                    <table style=""width: 100%;"">
		            <tr><td colspan=""5"" style=""font-weight:bold;line-height:20px;"">服务器:"         + databaselist[k].ServerName + "<br/>数据库:" + databaselist[k].Name + @"</td></tr>
		            <tr class=""text-center""><th style=""width:60px"">序号</th><th>分组</th><th>表名</th><th>别名</th><th>作者</th></tr>"        ;
                    for (int q = 0; q < tableslist.Rows.Count; q++)
                    {
                        string url = string.Format("Items/{0}_{1}.html", databaselist[k].Name, tableslist.Rows[q]["Name"].ToString());
                        tableStr += string.Format(@"<tr><td style=""padding-left:10px;"">{0}</td>", q + 1);
                        string GroupName = string.Empty,
                               TempName  = DGroup.GetGroupName(new Guid(tableslist.Rows[q]["GroupCode"].ToString()));
                        //名称竖排
                        for (int Q = 0; Q < TempName.Length; Q++)
                        {
                            GroupName += TempName[Q].ToString() + "<br/>";
                        }
                        //分组跨行处理
                        if (rowspan == 0)
                        {
                            for (int j = q; j < tableslist.Rows.Count; j++)
                            {
                                if (tableslist.Rows[j]["GroupCode"].ToString() == tableslist.Rows[q]["GroupCode"].ToString())
                                {
                                    rowspan++;
                                }
                            }
                            merger = true;
                        }
                        if (rowspan > 0 && merger == true)
                        {
                            tableStr += string.Format(@"<td class=""text-center"" style=""width:60px;"" rowspan=""{0}"">{1}</td>", rowspan, GroupName);
                            merger    = false; //停用合并
                            rowspan--;         //合并行计数
                        }
                        else if (rowspan > 0)
                        {
                            rowspan--;//合并行计数
                        }
                        else
                        {
                            tableStr += string.Format(@"<td class=""text-center"" style=""width:60px;"">{0}</td>", GroupName);
                        }
                        tableStr += string.Format(@"<td><a href=""{0}"">{1}</a></td><td><a href=""{0}"">{2}</a></td>
	                        <td class=""text-center"">{3}</td></tr>"    ,
                                                  url, tableslist.Rows[q]["Name"].ToString(),
                                                  tableslist.Rows[q]["Alias"].ToString(),
                                                  tableslist.Rows[q]["Author"].ToString());
                        BuildItems(new Guid(tableslist.Rows[q]["Code"].ToString()),
                                   tableslist.Rows[q]["Name"].ToString(),
                                   tableslist.Rows[q]["Alias"].ToString(),
                                   directory + "/" + url, itemsPath);
                    }
                    tableStr += "</table><br/>";
                }
            }
            string[] indexTemp = new string[] { "@title", "@table", "@footer" };
            string[] indexHtml = new string[] { fileName, tableStr, "DBVortaro" };
            DTemplates.WriteHtml(indexTemp, indexHtml, indexPath, directory + "/index.html");
        }