📄 inc_bugs.aspx
字号:
<script language="C#" runat="server">
string sql;
//DataSet ds;
DataView dv;
int page_size;
int this_page=0;
int total_rows;
int start_row;
///////////////////////////////////////////////////////////////////////
string get_paging_string()
{
// format the text "page N of N: 1 2..."
this_page=0;
if (IsPostBack)
{
this_page = Convert.ToInt32(new_page.Value);
}
// get configurable bugs per page
sql = "select isnull(us_bugs_per_page,10) from users where us_id = N'$us'";
sql = sql.Replace("$us", Convert.ToString(security.this_usid));
page_size = (int) dbutil.execute_scalar(sql);
total_rows = dv.Table.Rows.Count;
start_row = this_page * page_size;
// how many pages to show all the rows?
int total_pages = (total_rows-1) / page_size + 1;
string paging_string = "";
if (total_pages > 1)
{
// The "<"
if (this_page > 0)
{
paging_string += "<a href='javascript: on_page("
+ Convert.ToString(this_page-1)
+ ")'><b> << </b></a> ";
}
// first page is "0", second page is "1", so add 1 for display purposes
paging_string += "page "
+ Convert.ToString(this_page + 1)
+ " of "
+ Convert.ToString(total_pages)
+ " ";
// The ">"
if (this_page < total_pages-1)
{
paging_string += "<a href='javascript: on_page("
+ Convert.ToString(this_page+1)
+ ")'><b> >> </b></a>";
}
paging_string += " ";
int i = 0;
for (i = 0;i < total_pages; i++)
{
if (this_page == i)
{
paging_string += Convert.ToString(i + 1) + " ";
}
else
{
paging_string += "<a href='javascript: on_page("
+ Convert.ToString(i)
+ ")'>"
+ Convert.ToString(i + 1)
+ "</a> ";
}
}
}
return paging_string;
}
///////////////////////////////////////////////////////////////////////
void sort_dataview() {
// Determine which column to sort
// and toggle ASC DESC
if (action.Value == "sort") {
int sort_column = Convert.ToInt32(sort.Value) + 1;
string sort_expression = dv.Table.Columns[sort_column].ColumnName;
if (sort.Value == prev_sort.Value) {
if (prev_dir.Value == "ASC") {
prev_dir.Value = "DESC";
sort_expression += " DESC";
}
else {
prev_dir.Value = "ASC";
}
}
else {
prev_sort.Value = sort.Value;
prev_dir.Value = "ASC";
}
dv.Sort = sort_expression;
}
}
void display_bugs()
{
display_bugs (false);
}
///////////////////////////////////////////////////////////////////////
void display_bugs(bool show_checkbox)
{
string paging_string = get_paging_string();
Response.Write (paging_string);
Response.Write ("<table border=1 cellpadding=3 cellspacing=0><tr>\n");
///////////////////////////////////////////////////////////////////
// headings
///////////////////////////////////////////////////////////////////
int db_column_count = 0;
int description_column = -1;
foreach (DataColumn dc in dv.Table.Columns)
{
if (db_column_count == 0)
{
// skip color
if (show_checkbox)
{
Response.Write ("<td class=datah><font size=0>sel</font>");
}
}
else
{
// determine data type
string datatype = "";
if (Util.is_numeric_datatype(dc.DataType.ToString()))
{
datatype = "num";
}
else if (dc.DataType.ToString() == "System.DateTime")
{
datatype = "date";
}
else
{
datatype = "str";
}
Response.Write ("<td class=datah>\n");
string s = "<a href='javascript: on_sort($col)'>";
s = s.Replace("$col", Convert.ToString(db_column_count-1));
Response.Write (s);
Response.Write (dc.ColumnName);
Response.Write ("</a>");
Response.Write ("</td>\n");
if (dc.ColumnName.ToLower().IndexOf("desc") == 0) {
// remember this column so that we can make it a link
description_column = db_column_count; // zero based here
}
}
db_column_count++;
}
Response.Write ("<td class=datah>edit</td>");
Response.Write ("</tr>\n");
string bgcolor = "#ffffff";
string class_or_color = "class=bugd";
string col_one;
///////////////////////////////////////////////////////////////////
// data
///////////////////////////////////////////////////////////////////
int rows_this_page = 0;
int j = 0;
//for (int j = (page_size * this_page); j < total_rows; j++)
foreach (DataRowView drv in dv)
{
// skip over rows prior to this page
if (j < page_size * this_page) {
j++;
continue;
}
// do not show rows beyond this page
rows_this_page++;
if (rows_this_page > page_size)
{
break;
}
DataRow dr = drv.Row;
Response.Write ("<tr>");
if (show_checkbox)
{
Response.Write ("<td><input type=checkbox name=");
Response.Write (Convert.ToString(dr[1]));
Response.Write (">");
}
for(int i = 0; i < dv.Table.Columns.Count; i++)
{
if (i == 0)
{
col_one = Convert.ToString(dr[0]);
if (col_one == "")
{
class_or_color = "class=bugd";
}
else
{
if (col_one[0] == '#')
{
class_or_color = "class=bugd bgcolor=" + col_one;
}
else
{
class_or_color = "class=\"" + col_one + "\"";
}
}
}
else
{
string datatype = dv.Table.Columns[i].DataType.ToString();
if (Util.is_numeric_datatype(datatype))
{
Response.Write ("<td " + class_or_color + " align=right>");
}
else
{
Response.Write ("<td " + class_or_color + " >");
}
// write the data
if (dr[i].ToString() == "")
{
Response.Write (" ");
}
else
{
if (datatype == "System.DateTime")
{
Response.Write (Util.format_db_date(dr[i]));
}
else
{
if (i == description_column)
{
// write description as a link
Response.Write ("<a href=edit_bug.aspx?id=" + Convert.ToString(dr[1]) + ">");
Response.Write (Server.HtmlEncode(dr[i].ToString()));
Response.Write ("</a>");
}
else
{
Response.Write (Server.HtmlEncode(dr[i].ToString()));
}
}
}
Response.Write ("</td>");
}
}
Response.Write ("<td class=datad><a href=edit_bug.aspx?id=" + Convert.ToString(dr[1]) + ">edit</a></td>");
Response.Write ("</tr>");
j++;
}
Response.Write ("</table>");
Response.Write (paging_string);
}
</script>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -