?? print_bugs.aspx
字號:
<%@ Page language="C#"%>
<!-- #include file = "inc.aspx" -->
<script language="C#" runat="server">
int id;
String sql;
DbUtil dbutil;
Security security;
DataSet ds;
DataView dv;
///////////////////////////////////////////////////////////////////////
void Page_Load(Object sender, EventArgs e)
{
Util.do_not_cache(Response);
dbutil = new DbUtil();
security = new Security();
security.check_security(dbutil, Request, Response, Security.ANY_USER_OK);
// fetch the sql
string qu_id_string = Util.sanitize_integer(Request["qu_id"]);
ds = null;
dv = null;
if (qu_id_string != null)
{
// use sql specified in query string
int qu_id = Convert.ToInt32(qu_id_string);
sql = @"select qu_sql from queries where qu_id = $1";
sql = sql.Replace("$1", qu_id_string);
string bug_sql = (string)dbutil.execute_scalar(sql);
// replace magic variables
bug_sql = bug_sql.Replace("$ME", Convert.ToString(security.this_usid));
bug_sql = Util.alter_sql_per_project_permissions(bug_sql,security.this_usid);
ds = dbutil.get_dataset (bug_sql);
}
else
{
dv = (DataView) Session["bugs"];
}
string format = Request["format"];
if (format != null && format == "excel")
{
print_as_excel();
}
else
{
print_as_html();
}
}
void Page_Unload(Object sender, EventArgs e)
{
if (dbutil != null) {dbutil.close();}
}
void print_as_excel()
{
Response.ContentType = "application/x-msexcel";
int col;
int row;
bool first_column;
if (ds != null)
{
// column names
first_column = true;
for (col = 1; col < ds.Tables[0].Columns.Count; col++)
{
if (!first_column)
{
Response.Write ("\t");
}
Response.Write (ds.Tables[0].Columns[col].ColumnName);
first_column = false;
}
Response.Write ("\n");
// bug rows
foreach (DataRow dr in ds.Tables[0].Rows)
{
first_column = true;
for (col = 1; col < ds.Tables[0].Columns.Count; col++)
{
if (!first_column)
{
Response.Write ("\t");
}
Response.Write (dr[col].ToString());
first_column = false;
}
Response.Write ("\n");
}
}
else
{
// column names
first_column = true;
for (col = 1; col < dv.Table.Columns.Count; col++)
{
if (!first_column)
{
Response.Write ("\t");
}
Response.Write (dv.Table.Columns[col].ColumnName);
first_column = false;
}
Response.Write ("\n");
// bug rows
foreach (DataRowView drv in dv)
{
first_column = true;
for (col = 1; col < dv.Table.Columns.Count; col++)
{
if (!first_column)
{
Response.Write ("\t");
}
Response.Write (drv[col].ToString());
first_column = false;
}
Response.Write ("\n");
}
}
}
void print_as_html()
{
Response.Write ("<head><link rel='StyleSheet' href='btnet.css' type='text/css'></head>");
Response.Write ("<table border=1 cellspacing=0 cellpadding=3>");
int col;
int row;
if (ds != null)
{
for (col = 1; col < ds.Tables[0].Columns.Count; col++)
{
Response.Write ("<td class=datah>\n");
Response.Write (ds.Tables[0].Columns[col].ColumnName);
Response.Write ("</td>");
}
foreach (DataRow dr in ds.Tables[0].Rows)
{
Response.Write ("<tr>");
for (col = 1; col < ds.Tables[0].Columns.Count; col++)
{
string datatype = ds.Tables[0].Columns[col].DataType.ToString();
if (Util.is_numeric_datatype(datatype))
{
Response.Write ("<td class=datad align=right>");
}
else
{
Response.Write ("<td class=datad>");
}
// write the data
if (dr[col].ToString() == "")
{
Response.Write (" ");
}
else
{
Response.Write (Server.HtmlEncode(dr[col].ToString()));
}
Response.Write ("</td>");
}
Response.Write ("</tr>");
}
}
else
{
for (col = 1; col < dv.Table.Columns.Count; col++)
{
Response.Write ("<td class=datah>\n");
Response.Write (dv.Table.Columns[col].ColumnName);
Response.Write ("</td>");
}
foreach (DataRowView drv in dv)
{
Response.Write ("<tr>");
for (col = 1; col < dv.Table.Columns.Count; col++)
{
string datatype = dv.Table.Columns[col].DataType.ToString();
if (Util.is_numeric_datatype(datatype))
{
Response.Write ("<td class=datad align=right>");
}
else
{
Response.Write ("<td class=datad>");
}
// write the data
if (drv[col].ToString() == "")
{
Response.Write (" ");
}
else
{
Response.Write (Server.HtmlEncode(drv[col].ToString()));
}
Response.Write ("</td>");
}
Response.Write ("</tr>");
}
}
Response.Write ("</table>");
}
</script>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -