using
System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class ZDWH_BookInfo : System.Web.UI.Page
... ... {
Page_Load()Page_Load()#region Page_Load()
/**//**//**//// <summary>
/// Page_Load事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
......{
if (!IsPostBack)
......{
//判断用户登陆状态
//if (Session.Count = 0)
//{
// Response.Redirect("../index.aspx");
//}
//else
//{
// if (Session["CurrUser"].ToString == "")
// Response.Redirect("../index.aspx");
//}
DdlSelPressDataBind();
GridViewPublishersDataBind();
}
//i = 1;
//GridViewPublishersDataBind();
}
#endregion
GetAlertScript(string str)GetAlertScript(string str)#region GetAlertScript(string str)
/**//**//**//// <summary>
/// 返回javascript字符串,str:彈出對話框所呈現的文字
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
protected string GetAlertScript(string str)
......{
string theScript;
theScript = "<script language='javascript'>alert('" + str + "')</script>";
return theScript;
}
#endregion
綁定出版社綁定出版社#region 綁定出版社
/**//**//**//// <summary>
/// 綁定出版社Ddl
/// </summary>
protected void DdlSelPressDataBind()
......{
SqlConnection cnn;
SqlDataAdapter dataA;
string sql;
DataSet ds;
using (cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["BookStoreConnectionString"].ToString()))
......{
sql = "SELECT Code,FullName FROM PressInfoSheet ORDER BY FullName";
dataA = new SqlDataAdapter(sql, cnn);
ds = new DataSet();
try
......{
dataA.Fill(ds, "PressInfoSheet");
DdlSelPress.DataSource = ds.Tables["PressInfoSheet"].DefaultView;
DdlSelPress.DataTextField = "FullName";
DdlSelPress.DataValueField = "Code";
DdlSelPress.DataBind();
}
catch(SqlException ex)
......{
Response.Write("數據讀取錯:" + ex.Message);
}
}
}
#endregion
属性属性#region 属性
/**//**//**////
private string GridViewSortDirection
......{
get ......{ return ViewState["SortDirection"] as string ?? "ASC"; }
set ......{ ViewState["SortDirection"] = value; }
}
private string GridViewSortExpression
......{
get ......{ return ViewState["SortExpression"] as string ?? string.Empty; }
set ......{ ViewState["SortExpression"] = value; }
}
#endregion
方法方法#region 方法
/**//**//**////
///
private方法private方法#region private方法
/**//**//**//// <summary>
/// GetDirection(),GetDataTable(SqlConnection cnn, string sql),ClearTextBox()
/// SetBackColor(GridView gridView,DataTable dt,string colName,int col,System.Drawing.Color color)
/// </summary>
/// <returns></returns>
private string GetDirection()
......{
switch(GridViewSortDirection)
......{
case"ASC":
GridViewSortDirection = "DESC";
break;
case"DESC":
GridViewSortDirection = "ASC";
break;
}
return GridViewSortDirection;
}
获取DataTable获取DataTable#region 获取DataTable
/**//**//**//// <summary>
/// cnn,连接对象;sql,连接字符串;
/// </summary>
/// <param name="cnn"></param>
/// <param name="sql"></param>
/// <returns></returns>
private DataTable GetDataTable(SqlConnection cnn, string sql)
......{
SqlDataAdapter dataA;
DataTable dt;
dataA = new SqlDataAdapter(sql, cnn);
dt = new DataTable("gridViewPublishers");
dt.Columns.Add("ID");
//dt.Columns["ID"].AutoIncrement = true;
//dt.Columns["ID"].AutoIncrementSeed = 1;
//dt.Columns["ID"].AutoIncrementStep = 1;
ViewState["dataSource"] = dt;
dataA.Fill(dt);
return dt;
}
#endregion
//
设置突出显示设置突出显示#region 设置突出显示
/**//**//**//// <summary>
///突出显示:gridView 要设置的GridView,dt 源DataTable,colName 列名,col 列序号 color 颜色
/// </summary>
//
private void SetBackColor(GridView gridView,DataTable dt,string colName,int col,System.Drawing.Color color)
......{
for (int i = 0; i <= gridView.Rows.Count - 1; i++)//设置突出显示单元格
......{
//DataRowView mydrv = dt.DefaultView[i];
if (Convert.ToInt32(gridView.Rows[i].Cells[col].Text) < 10)//当此列小于10时改变背景色
......{
gridView.Rows[i].Cells[col].ForeColor = color;
gridView.Rows[i].Cells[col].Font.Bold = true;
gridView.Rows[i].Cells[col].Font.Size = 14;
//gridView.Rows[i].Cells[col].BorderColor = System.Drawing.Color.White;
//gridView.Rows[i].Cells[col].BorderWidth = 2;
}
//LblMsg.Text = mydrv[colName].ToString();
}
}
#endregion
清空输入区域清空输入区域#region 清空输入区域
/**//**//**//// <summary>
///
/// </summary>
private void ClearTextBox()
......{
TxtISBN.Text = "";
TxtName.Text = "";
TxtBookPrice.Text = "";
TxtSourceCode.Text = "";
TxtBookSelfCode.Text = "";
TxtCbyYear.Text = "";
TxtBc.Text = "";
TxtBookAuthor.Text = "";
TxtLocateCode.Text = "";
TxtMemo.Text = "";
DdlSelPress.SelectedIndex = -1;
BtnClear.Text = "清 空";
BtnSave.Text = "保 存";
LblCode.Text = "";
LblCode.Visible = false;
LblCode1.Visible = false;
}
#endregion
批量删除批量删除#region 批量删除
/**//**//**////删除tableName表中索引为sID的行
///
private void DeleteRows(string tableName, string sID)
......{
sID = sID.Trim();
sID=sID.Substring(0,sID.Length-1);//去掉末尾","
System.Text.StringBuilder code = new System.Text.StringBuilder(sID);
code=code.Replace(",", " or code=");
using (SqlConnection cnn = GetSqlConnection())
......{
string sql = "delete from "+tableName+" where code="+code.ToString();
using (SqlCommand cmd = new SqlCommand(sql, cnn))
......{
try
......{
cmd.ExecuteNonQuery();
}
catch (SqlException ex)
......{
Response.Write("删除失败:" + ex.Message);
}
}
CloseSqlConnection(cnn);
}
}
#endregion
#endregion
protected方法protected方法#region protected方法
/**//**//**//// <summary>
/// 为转 excel 出问题而加上的过程(一定加!!)
/// </summary>
/// <param name="control"></param>
public override void VerifyRenderingInServerForm(Control control)
......{
// 为转 excel 出问题而加上的过程(一定加!!)// Confirms that an HtmlForm control is rendered for
}
/**//**//**//// <summary>
/// fileName文件名称;fileType文件类型,只能为word/excel任一个
/// </summary>
/// <param name="fileName"></param>
/// <param name="fileType"></param>
protected void GridViewExport(string fileName, string fileType)
......{
Response.ClearContent();
Response.Buffer = true;
if (fileType.ToLower()== "excel")
......{
Response.AddHeader("content-disposition", "attachment; filename="" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + ".xls"");
Response.ContentType = "application/vnd.ms-excel";
}
else if (fileType.ToLower() == "word")
......{
Response.AddHeader("content-disposition", "attachment; filename="" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + ".doc"");
Response.ContentType = "application/vnd.ms-word";
}
else
......{
return ;
}
Response.Charset = "GB2312";
//GetEncoding("GB2312")容易引起乱码,所以建议实用UTF7/UTF8格式
//Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.ContentEncoding = System.Text.Encoding.UTF7;
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
gridViewPublishers.AllowPaging = false;//取消分页
gridViewPublishers.AllowSorting = false;//取消排序
GridViewPublishersDataBind();
//隐藏不要的列
gridViewPublishers.Columns[0].Visible = false;
gridViewPublishers.Columns[10].Visible = false;
gridViewPublishers.Columns[11].Visible = false;
gridViewPublishers.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.Flush();
Response.End();
gridViewPublishers.AllowPaging = true;//恢复分页
gridViewPublishers.AllowSorting = true;//恢复排序
GridViewPublishersDataBind();
//显示隐藏列
gridViewPublishers.Columns[0].Visible = true;
gridViewPublishers.Columns[10].Visible = true;
gridViewPublishers.Columns[11].Visible = true;
}
#endregion
#endregion
数据库联接操作数据库联接操作#region 数据库联接操作
/**//**//**////
//获取数据库联接对象
private SqlConnection GetSqlConnection()
......{
try
......{
SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["BookStoreConnectionString"].ToString());
cnn.Open();
return cnn;
}
catch (SqlException e)
......{
Response.Write("数据库连接出错:" + e.Message);
return null;
}
}
//关闭数据库联接对象
private void CloseSqlConnection(SqlConnection cnn)
......{
try
......{
cnn.Close();
}
catch (SqlException e)
......{
Response.Write("数据库连接不存在或已经关闭:" + e.Message);
}
}
#endregion
GridView操作GridView操作#region GridView操作
/**//**//**////
綁定GridView綁定GridView#region 綁定GridView
/**//**//**//// <summary>
/// 綁定GridViewPublishers
/// </summary>
protected void GridViewPublishersDataBind()
......{
SqlConnection cnn;
SqlCommand cmd;
SqlDataReader dataR;
//SqlDataAdapter dataA;
DataTable dt;
//DataSet ds;
//DataColumn dc;
string sql;
int maxPage;//最大頁數
cnn = GetSqlConnection();
sql = "SELECT COUNT(*) as nums,SUM(storeamounta) as mskc,SUM(storeamountz) as zdkc,SUM(price*storeamounta) as msmy,SUM(price*storeamountz) as zdmy FROM BookInfoSheet,PressInfoSheet,BookStoreSheetA,BookStoreSheetZ where BookInfoSheet.presscode=PressInfoSheet.code and BookInfoSheet.code=BookStoreSheetA.bookcode and BookInfoSheet.code=BookStoreSheetZ.bookcode ";
if (TxtQuery_content.Text.Trim() != "")
sql += " AND " + DdlQuery_tj.SelectedItem.Value + " LIKE '%" + TxtQuery_content.Text.Trim() + "%'";
cmd = new SqlCommand(sql, cnn);
try
......{
dataR = cmd.ExecuteReader();
if (dataR.Read())
......{
if (dataR["nums"].ToString() == "0")
LblMsg.Text = "";
else
LblMsg.Text = "合計:記錄數 " + dataR["nums"].ToString() + " 總店庫存 " + dataR["zdkc"].ToString() + " 門市庫存 " + dataR["mskc"].ToString() + " 總店碼洋 " + dataR["zdmy"].ToString() + " 門市碼洋 " + dataR["msmy"].ToString();
}
dataR.Close();
}
catch (SqlException ex)
......{
Response.Write("數據讀取出錯:" + ex.Message);
}
/**//**//**////取表头信息结束
///綁定gridViewPublishers
sql = "SELECT BookInfoSheet.*,abbrname,storeamounta,storeamountz FROM BookInfoSheet,PressInfoSheet,BookStoreSheetA,BookStoreSheetZ where BookInfoSheet.presscode=PressInfoSheet.code and BookInfoSheet.code=BookStoreSheetA.bookcode and BookInfoSheet.code=BookStoreSheetZ.bookcode ";
if (TxtQuery_content.Text.Trim() != "")
sql += " AND " + DdlQuery_tj.SelectedItem.Value + " LIKE '%" + TxtQuery_content.Text.Trim() + "%'";
sql += " ORDER BY BookInfoSheet.name DESC";
//dataA = new SqlDataAdapter(sql, cnn);
//dt = new DataTable("gridViewPublishers");
//dt.Columns.Add("ID");
//dt.Columns["ID"].AutoIncrement = true;
dt = GetDataTable(cnn, sql);
try
......{
//dataA.Fill(dt);
if (dt.DefaultView.Count % gridViewPublishers.PageSize > 0)
......{
maxPage = dt.DefaultView.Count / gridViewPublishers.PageSize + 1;
}
else
......{
maxPage = dt.DefaultView.Count / gridViewPublishers.PageSize;
}
while (gridViewPublishers.PageIndex > 0)
......{
if (maxPage < gridViewPublishers.PageIndex + 1)
......{
gridViewPublishers.PageIndex = gridViewPublishers.PageIndex - 1;
}
else
......{
break;
}
}
gridViewPublishers.DataSource = dt;
gridViewPublishers.DataBind();
CloseSqlConnection(cnn);
SetBackColor(gridViewPublishers, dt, "storeamounta", 9, System.Drawing.Color.Orange);
SetBackColor(gridViewPublishers, dt, "storeamountz", 8, System.Drawing.Color.OrangeRed);
BtnDelChecked.Visible = true;
}
catch (SqlException ex)
......{
Response.Write("數據讀取錯:" + ex.Message);
}
CloseSqlConnection(cnn);
}
#endregion
排序排序#region 排序
/**//**//**////
///
///
protected void GridViewPublishersSorting(Object sender, GridViewSortEventArgs e)
......{
GridViewSortExpression = e.SortExpression;
int pageIndex = gridViewPublishers.PageIndex;
//if (dt != null)
//LblMsg.Text = e.SortExpression;
gridViewPublishers.DataSource = SortDataTable(ViewState["dataSource"] as DataTable, false);
gridViewPublishers.DataBind();
SetBackColor(gridViewPublishers, ViewState["dataSource"] as DataTable, "storeamountz",8, System.Drawing.Color.OrangeRed);
SetBackColor(gridViewPublishers, ViewState["dataSource"] as DataTable, "storeamounta",9,System.Drawing.Color.Orange);
gridViewPublishers.PageIndex = pageIndex;
}
//对DataTable排序操作
private DataView SortDataTable(DataTable dataTable, bool isPageIndexChanging)
......{
if (dataTable != null)
......{
DataView dataView = new DataView(dataTable);
if (GridViewSortExpression != string.Empty)
......{
if (isPageIndexChanging)
......{
dataView.Sort = String.Format("{0} {1}", GridViewSortExpression, GridViewSortDirection);
}
else
......{
dataView.Sort = String.Format("{0} {1}", GridViewSortExpression, GetDirection());
}
}
return dataView;
}
else
......{
return new DataView();
}
}
#endregion
删除删除#region 删除
/**//**//**////
///
///
//
protected void GridViewRowDelete(Object sender, GridViewDeleteEventArgs e)
......{
int strCode = Convert.ToInt32(gridViewPublishers.DataKeys[e.RowIndex].Value);
//string strCode=delete
int zdkc = Convert.ToInt32(gridViewPublishers.Rows[e.RowIndex].Cells[8].Text);
int mskc = Convert.ToInt32(gridViewPublishers.Rows[e.RowIndex].Cells[9].Text);
if (zdkc != 0 || mskc != 0)
......{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Success", GetAlertScript("该书存在库存,无法删除!"));
}
else
......{
using (SqlConnection cnn = GetSqlConnection())
......{
string sql = "delete from bookinfosheet where code=@code";
using (SqlCommand cmd = new SqlCommand(sql, cnn))
......{
SqlParameter ParaCode = new SqlParameter("code", SqlDbType.Int);
ParaCode.Value = strCode;
cmd.Parameters.Add(ParaCode);
//gridViewPublishers.DeleteRow(e.RowIndex);
try
......{
cmd.ExecuteNonQuery();
Page.ClientScript.RegisterStartupScript(this.GetType(),"success",GetAlertScript("删除成功!"));
}
catch (SqlException ex)
......{
Response.Write("删除失败:" + ex.Message);
}
}
}
GridViewPublishersDataBind();
ClearTextBox();
}
}
#endregion
编辑编辑#region 编辑
/**//**//**////
///
protected void GridViewRowEdit(Object sender, GridViewEditEventArgs e)
......{
SqlConnection cnn;
SqlCommand cmd;
SqlDataReader dataR;
string sql;
LblCode.Text = gridViewPublishers.Rows[e.NewEditIndex].Cells[2].Text;//保存Code值
LblCode.Visible = true;
LblCode1.Visible = true;
BtnSave.Text = "保存修改";
BtnClear.Text = "取消";
//gridViewPublishers.Rows[e.NewEditIndex].Enabled = false;
using (cnn = GetSqlConnection())
......{
sql = "SELECT * FROM BookInfoSheet WHERE Code=@Code";
using (cmd = new SqlCommand(sql, cnn))
......{
SqlParameter ParaCode = new SqlParameter("Code", SqlDbType.Int);
ParaCode.Value = LblCode.Text;
cmd.Parameters.Add(ParaCode);
try
......{
dataR = cmd.ExecuteReader();
while (dataR.Read())
......{
TxtISBN.Text = dataR["ISBN"].ToString();
TxtName.Text = dataR["Name"].ToString();
TxtBookPrice.Text = dataR["Price"].ToString();
TxtSourceCode.Text = dataR["SourceCode"].ToString();
TxtBookSelfCode.Text = dataR["SelfCode"].ToString();
TxtCbyYear.Text = dataR["YYear"].ToString();
TxtBc.Text = dataR["Version"].ToString();
TxtBookAuthor.Text = dataR["Author"].ToString();
TxtLocateCode.Text = dataR["LocCode"].ToString();
TxtMemo.Text = dataR["Memo"].ToString();
DdlSelPress.SelectedIndex = DdlSelPress.Items.IndexOf(DdlSelPress.Items.FindByValue(dataR["PressCode"].ToString()));
}
}
catch (SqlException ex)
......{
Response.Write("数据读取错:" + ex.Message);
}
}
}
}
#endregion
翻頁翻頁#region 翻頁
protected void GridViewPublishersPageChanged(Object sender, GridViewPageEventArgs e)
......{
gridViewPublishers.PageIndex = e.NewPageIndex;
GridViewPublishersDataBind();
}
#endregion
RowDataBound事件RowDataBound事件#region RowDataBound事件
/**//**//**//// <summary>
/// 鼠标移动时改变背景样式,和自增列
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void gridViewPublishers_RowDataBound(object sender, GridViewRowEventArgs e)
......{
//判断是否数据行
if (e.Row.RowType == DataControlRowType.DataRow)
......{
//当鼠标停留时更改背景色
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#6699cc'");
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
//
System.Web.UI.HtmlControls.HtmlInputCheckBox check = (System.Web.UI.HtmlControls.HtmlInputCheckBox)e.Row.FindControl("check");
string sid = check.Value;
if (e.Row.RowIndex % 2 != 0)
e.Row.Attributes.Add("onclick", "GetRowIndex('" + sid + "'),tog(this,'#EFF3FB')");
else
e.Row.Attributes.Add("onclick", "GetRowIndex('" + sid + "'),tog(this,'#ffffff')");
}
//设置序号列
if (e.Row.RowIndex != -1)
......{
int id = (e.Row.RowIndex + 1)+gridViewPublishers.PageSize*gridViewPublishers.PageIndex;
e.Row.Cells[1].Text = id.ToString();
}
}
#endregion
#endregion
事件事件#region 事件
清空输入清空输入#region 清空输入
/**//**//**//// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnClear_Click(object sender, EventArgs e)
......{
ClearTextBox();
}
#endregion
查詢事件查詢事件#region 查詢事件
/**//**//**//// <summary>
/// 查詢事件BtnQuery_Click()
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnQuery_Click(object sender, EventArgs e)
......{
GridViewPublishersDataBind();
}
#endregion
保存用戶輸入保存用戶輸入#region 保存用戶輸入
/**//**//**//// <summary>
/// BtnSave事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnSave_Click(object sender, EventArgs e)
......{
string bookCode, sql;
SqlConnection cnn;
SqlCommand cmd;
SqlDataReader dataR;
try
......{
cnn = GetSqlConnection();
if (LblCode.Text == "")
添加状态添加状态#region 添加状态
......{
sql = "SELECT Code FROM BookInfoSheet WHERE PressCode=@PressCode ORDER BY Code DESC";
//计算新的Code值
using (cmd = new SqlCommand(sql, cnn))
......{
SqlParameter ParaPressCode1 = new SqlParameter("PressCode", SqlDbType.Char, 3);
ParaPressCode1.Value = DdlSelPress.SelectedValue;
cmd.Parameters.Add(ParaPressCode1);
dataR = cmd.ExecuteReader();
if (dataR.Read())
bookCode = DdlSelPress.SelectedValue + String.Format("0000", (Convert.ToInt32(dataR["Code"].ToString().Substring(dataR["Code"].ToString().Length - 4)) + 1));
else
bookCode = DdlSelPress.SelectedValue + "0001";
dataR.Close();
}
sql = "INSERT INTO BookInfoSheet(Code,Name,SourceCode,SelfCode,ISBN,YYear,Version,Author,Price,PressCode,LocCode,Memo) VALUES(@Code,@Name,@SourceCode,@SelfCode,@ISBN,@YYear,@Version,@Author,@Price,@PressCode,@LocCode,@Memo)";
//sql = "UPDATE BookInfoSheet Set Name=@Name,SourceCode=@SourceCode,SelfCode=@SelfCode,ISBN=@ISBN,YYear=@YYear,Version=@Version,Price=@Price,PressCode=@PressCode,LocCode=@LocCode,Memo=@Memo WHERE Code=" + LblCode.Text;
using (cmd = new SqlCommand(sql, cnn))
......{
SqlParameter ParaCode, ParaName, ParaSourceCode, ParaSelfCode, ParaISBN, ParaYYear, ParaVersion, ParaAuthor, ParaPrice, ParaPressCode, ParaLocCode, ParaMemo;
ParaCode = new SqlParameter("Code", bookCode);
ParaName = new SqlParameter("Name", TxtName.Text);
ParaSourceCode = new SqlParameter("SourceCode", TxtSourceCode.Text);
ParaSelfCode = new SqlParameter("SelfCode", TxtBookSelfCode.Text);
ParaISBN = new SqlParameter("ISBN", TxtISBN.Text);
ParaYYear = new SqlParameter("YYear", TxtCbyYear.Text);
ParaVersion = new SqlParameter("Version", TxtBc.Text);
ParaAuthor = new SqlParameter("Author", TxtBookAuthor.Text);
ParaPrice = new SqlParameter("Price", TxtBookPrice.Text);
ParaPressCode = new SqlParameter("PressCode", DdlSelPress.SelectedValue);
ParaLocCode = new SqlParameter("LocCode", TxtLocateCode.Text);
ParaMemo = new SqlParameter("Memo", TxtMemo.Text);
cmd.Parameters.Add(ParaCode);
cmd.Parameters.Add(ParaAuthor);
cmd.Parameters.Add(ParaISBN);
cmd.Parameters.Add(ParaLocCode);
cmd.Parameters.Add(ParaMemo);
cmd.Parameters.Add(ParaName);
cmd.Parameters.Add(ParaPressCode);
cmd.Parameters.Add(ParaPrice);
cmd.Parameters.Add(ParaSelfCode);
cmd.Parameters.Add(ParaSourceCode);
cmd.Parameters.Add(ParaVersion);
cmd.Parameters.Add(ParaYYear);
try
......{
cmd.ExecuteNonQuery();
Page.ClientScript.RegisterStartupScript(this.GetType(), "Success", GetAlertScript("保存成功!"));
GridViewPublishersDataBind();
}
catch (Exception ex)
......{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Success", GetAlertScript("保存失敗!" + ex.Message));
Response.Write("數據插入錯:" + ex.Message);
}
}
}
#endregion
else
修改状态修改状态#region 修改状态
......{
sql = "UPDATE BookInfoSheet Set Name=@Name,SourceCode=@SourceCode,SelfCode=@SelfCode,ISBN=@ISBN,YYear=@YYear,Version=@Version,Price=@Price,PressCode=@PressCode,LocCode=@LocCode,Memo=@Memo WHERE Code=" + LblCode.Text;
using (cmd = new SqlCommand(sql, cnn))
......{
SqlParameter ParaName, ParaSourceCode, ParaSelfCode, ParaISBN, ParaYYear, ParaVersion, ParaAuthor, ParaPrice, ParaPressCode, ParaLocCode, ParaMemo;
ParaName = new SqlParameter("Name", TxtName.Text);
ParaSourceCode = new SqlParameter("SourceCode", TxtSourceCode.Text);
ParaSelfCode = new SqlParameter("SelfCode", TxtBookSelfCode.Text);
ParaISBN = new SqlParameter("ISBN", TxtISBN.Text);
ParaYYear = new SqlParameter("YYear", TxtCbyYear.Text);
ParaVersion = new SqlParameter("Version", TxtBc.Text);
ParaAuthor = new SqlParameter("Author", TxtBookAuthor.Text);
ParaPrice = new SqlParameter("Price", TxtBookPrice.Text);
ParaPressCode = new SqlParameter("PressCode", DdlSelPress.SelectedValue);
ParaLocCode = new SqlParameter("LocCode", TxtLocateCode.Text);
ParaMemo = new SqlParameter("Memo", TxtMemo.Text);
cmd.Parameters.Add(ParaAuthor);
cmd.Parameters.Add(ParaISBN);
cmd.Parameters.Add(ParaLocCode);
cmd.Parameters.Add(ParaMemo);
cmd.Parameters.Add(ParaName);
cmd.Parameters.Add(ParaPressCode);
cmd.Parameters.Add(ParaPrice);
cmd.Parameters.Add(ParaSelfCode);
cmd.Parameters.Add(ParaSourceCode);
cmd.Parameters.Add(ParaVersion);
cmd.Parameters.Add(ParaYYear);
try
......{
cmd.ExecuteNonQuery();
Page.ClientScript.RegisterStartupScript(this.GetType(), "Success", GetAlertScript("修改成功!"));
GridViewPublishersDataBind();
}
catch (Exception ex)
......{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Success", GetAlertScript("修改失敗!" + ex.Message));
Response.Write("數據修改錯:" + ex.Message);
}
}
cnn.Close();
}
#endregion
CloseSqlConnection(cnn);
ClearTextBox();
GridViewPublishersDataBind();
}
catch (Exception ex)
......{
ClearTextBox();
Response.Write("連接數據庫錯:" + ex.Message);
}
}
#endregion
全选全选#region 全选
/**//**//**//// <summary>
/// 全选事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void checkAll_ServerChange(object sender, EventArgs e)
......{
int zdkc, mskc;
foreach (GridViewRow gvr in gridViewPublishers.Rows)
......{
zdkc = Convert.ToInt32(gvr.Cells[8].Text);
mskc = Convert.ToInt32(gvr.Cells[9].Text);
if(zdkc==0&&mskc==0)
((CheckBox)gvr.Cells[0].FindControl("check")).Checked = ((CheckBox)sender).Checked;
}
}
#endregion
批量删除批量删除#region 批量删除
/**//**//**//// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnDelChecked_Click(object sender, EventArgs e)
......{
int zdkc, mskc;
bool isChecked;
HtmlInputCheckBox check;
GridViewRow row;
string sID="";
for (int i = 0; i < gridViewPublishers.Rows.Count; i++)
......{
row = gridViewPublishers.Rows[i];
zdkc = Convert.ToInt32(row.Cells[8].Text);
mskc = Convert.ToInt32(row.Cells[9].Text);
check =(HtmlInputCheckBox)row.FindControl("check");
if (zdkc == 0 && mskc == 0 && check.Checked)
sID += check.Value + ",";
}
if (sID.Length > 0)
......{
DeleteRows("BookInfoSheet", sID);
GridViewPublishersDataBind();
Page.ClientScript.RegisterStartupScript(this.GetType(), "Success", GetAlertScript("批量删除完成!"));
}
else
......{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Success", GetAlertScript("请选择要删除的记录!"));
}
}
#endregion
导出为Excel导出为Excel#region 导出为Excel
/**//**//**//// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
///
protected void BtnToExcel_Click(object sender, EventArgs e)
......{
GridViewExport("图书信息", "excel");
}
#endregion
导出为Word导出为Word#region 导出为Word
/**//**//**//// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnToWord_Click(object sender, EventArgs e)
......{
GridViewExport("图书信息", "word");
}
#endregion
#endregion
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class ZDWH_BookInfo : System.Web.UI.Page
... ... {
Page_Load()Page_Load()#region Page_Load()
/**//**//**//// <summary>
/// Page_Load事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
......{
if (!IsPostBack)
......{
//判断用户登陆状态
//if (Session.Count = 0)
//{
// Response.Redirect("../index.aspx");
//}
//else
//{
// if (Session["CurrUser"].ToString == "")
// Response.Redirect("../index.aspx");
//}
DdlSelPressDataBind();
GridViewPublishersDataBind();
}
//i = 1;
//GridViewPublishersDataBind();
}
#endregion
GetAlertScript(string str)GetAlertScript(string str)#region GetAlertScript(string str)
/**//**//**//// <summary>
/// 返回javascript字符串,str:彈出對話框所呈現的文字
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
protected string GetAlertScript(string str)
......{
string theScript;
theScript = "<script language='javascript'>alert('" + str + "')</script>";
return theScript;
}
#endregion
綁定出版社綁定出版社#region 綁定出版社
/**//**//**//// <summary>
/// 綁定出版社Ddl
/// </summary>
protected void DdlSelPressDataBind()
......{
SqlConnection cnn;
SqlDataAdapter dataA;
string sql;
DataSet ds;
using (cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["BookStoreConnectionString"].ToString()))
......{
sql = "SELECT Code,FullName FROM PressInfoSheet ORDER BY FullName";
dataA = new SqlDataAdapter(sql, cnn);
ds = new DataSet();
try
......{
dataA.Fill(ds, "PressInfoSheet");
DdlSelPress.DataSource = ds.Tables["PressInfoSheet"].DefaultView;
DdlSelPress.DataTextField = "FullName";
DdlSelPress.DataValueField = "Code";
DdlSelPress.DataBind();
}
catch(SqlException ex)
......{
Response.Write("數據讀取錯:" + ex.Message);
}
}
}
#endregion
属性属性#region 属性
/**//**//**////
private string GridViewSortDirection
......{
get ......{ return ViewState["SortDirection"] as string ?? "ASC"; }
set ......{ ViewState["SortDirection"] = value; }
}
private string GridViewSortExpression
......{
get ......{ return ViewState["SortExpression"] as string ?? string.Empty; }
set ......{ ViewState["SortExpression"] = value; }
}
#endregion
方法方法#region 方法
/**//**//**////
///
private方法private方法#region private方法
/**//**//**//// <summary>
/// GetDirection(),GetDataTable(SqlConnection cnn, string sql),ClearTextBox()
/// SetBackColor(GridView gridView,DataTable dt,string colName,int col,System.Drawing.Color color)
/// </summary>
/// <returns></returns>
private string GetDirection()
......{
switch(GridViewSortDirection)
......{
case"ASC":
GridViewSortDirection = "DESC";
break;
case"DESC":
GridViewSortDirection = "ASC";
break;
}
return GridViewSortDirection;
}
获取DataTable获取DataTable#region 获取DataTable
/**//**//**//// <summary>
/// cnn,连接对象;sql,连接字符串;
/// </summary>
/// <param name="cnn"></param>
/// <param name="sql"></param>
/// <returns></returns>
private DataTable GetDataTable(SqlConnection cnn, string sql)
......{
SqlDataAdapter dataA;
DataTable dt;
dataA = new SqlDataAdapter(sql, cnn);
dt = new DataTable("gridViewPublishers");
dt.Columns.Add("ID");
//dt.Columns["ID"].AutoIncrement = true;
//dt.Columns["ID"].AutoIncrementSeed = 1;
//dt.Columns["ID"].AutoIncrementStep = 1;
ViewState["dataSource"] = dt;
dataA.Fill(dt);
return dt;
}
#endregion
//
设置突出显示设置突出显示#region 设置突出显示
/**//**//**//// <summary>
///突出显示:gridView 要设置的GridView,dt 源DataTable,colName 列名,col 列序号 color 颜色
/// </summary>
//
private void SetBackColor(GridView gridView,DataTable dt,string colName,int col,System.Drawing.Color color)
......{
for (int i = 0; i <= gridView.Rows.Count - 1; i++)//设置突出显示单元格
......{
//DataRowView mydrv = dt.DefaultView[i];
if (Convert.ToInt32(gridView.Rows[i].Cells[col].Text) < 10)//当此列小于10时改变背景色
......{
gridView.Rows[i].Cells[col].ForeColor = color;
gridView.Rows[i].Cells[col].Font.Bold = true;
gridView.Rows[i].Cells[col].Font.Size = 14;
//gridView.Rows[i].Cells[col].BorderColor = System.Drawing.Color.White;
//gridView.Rows[i].Cells[col].BorderWidth = 2;
}
//LblMsg.Text = mydrv[colName].ToString();
}
}
#endregion
清空输入区域清空输入区域#region 清空输入区域
/**//**//**//// <summary>
///
/// </summary>
private void ClearTextBox()
......{
TxtISBN.Text = "";
TxtName.Text = "";
TxtBookPrice.Text = "";
TxtSourceCode.Text = "";
TxtBookSelfCode.Text = "";
TxtCbyYear.Text = "";
TxtBc.Text = "";
TxtBookAuthor.Text = "";
TxtLocateCode.Text = "";
TxtMemo.Text = "";
DdlSelPress.SelectedIndex = -1;
BtnClear.Text = "清 空";
BtnSave.Text = "保 存";
LblCode.Text = "";
LblCode.Visible = false;
LblCode1.Visible = false;
}
#endregion
批量删除批量删除#region 批量删除
/**//**//**////删除tableName表中索引为sID的行
///
private void DeleteRows(string tableName, string sID)
......{
sID = sID.Trim();
sID=sID.Substring(0,sID.Length-1);//去掉末尾","
System.Text.StringBuilder code = new System.Text.StringBuilder(sID);
code=code.Replace(",", " or code=");
using (SqlConnection cnn = GetSqlConnection())
......{
string sql = "delete from "+tableName+" where code="+code.ToString();
using (SqlCommand cmd = new SqlCommand(sql, cnn))
......{
try
......{
cmd.ExecuteNonQuery();
}
catch (SqlException ex)
......{
Response.Write("删除失败:" + ex.Message);
}
}
CloseSqlConnection(cnn);
}
}
#endregion
#endregion
protected方法protected方法#region protected方法
/**//**//**//// <summary>
/// 为转 excel 出问题而加上的过程(一定加!!)
/// </summary>
/// <param name="control"></param>
public override void VerifyRenderingInServerForm(Control control)
......{
// 为转 excel 出问题而加上的过程(一定加!!)// Confirms that an HtmlForm control is rendered for
}
/**//**//**//// <summary>
/// fileName文件名称;fileType文件类型,只能为word/excel任一个
/// </summary>
/// <param name="fileName"></param>
/// <param name="fileType"></param>
protected void GridViewExport(string fileName, string fileType)
......{
Response.ClearContent();
Response.Buffer = true;
if (fileType.ToLower()== "excel")
......{
Response.AddHeader("content-disposition", "attachment; filename="" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + ".xls"");
Response.ContentType = "application/vnd.ms-excel";
}
else if (fileType.ToLower() == "word")
......{
Response.AddHeader("content-disposition", "attachment; filename="" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + ".doc"");
Response.ContentType = "application/vnd.ms-word";
}
else
......{
return ;
}
Response.Charset = "GB2312";
//GetEncoding("GB2312")容易引起乱码,所以建议实用UTF7/UTF8格式
//Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.ContentEncoding = System.Text.Encoding.UTF7;
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
gridViewPublishers.AllowPaging = false;//取消分页
gridViewPublishers.AllowSorting = false;//取消排序
GridViewPublishersDataBind();
//隐藏不要的列
gridViewPublishers.Columns[0].Visible = false;
gridViewPublishers.Columns[10].Visible = false;
gridViewPublishers.Columns[11].Visible = false;
gridViewPublishers.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.Flush();
Response.End();
gridViewPublishers.AllowPaging = true;//恢复分页
gridViewPublishers.AllowSorting = true;//恢复排序
GridViewPublishersDataBind();
//显示隐藏列
gridViewPublishers.Columns[0].Visible = true;
gridViewPublishers.Columns[10].Visible = true;
gridViewPublishers.Columns[11].Visible = true;
}
#endregion
#endregion
数据库联接操作数据库联接操作#region 数据库联接操作
/**//**//**////
//获取数据库联接对象
private SqlConnection GetSqlConnection()
......{
try
......{
SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["BookStoreConnectionString"].ToString());
cnn.Open();
return cnn;
}
catch (SqlException e)
......{
Response.Write("数据库连接出错:" + e.Message);
return null;
}
}
//关闭数据库联接对象
private void CloseSqlConnection(SqlConnection cnn)
......{
try
......{
cnn.Close();
}
catch (SqlException e)
......{
Response.Write("数据库连接不存在或已经关闭:" + e.Message);
}
}
#endregion
GridView操作GridView操作#region GridView操作
/**//**//**////
綁定GridView綁定GridView#region 綁定GridView
/**//**//**//// <summary>
/// 綁定GridViewPublishers
/// </summary>
protected void GridViewPublishersDataBind()
......{
SqlConnection cnn;
SqlCommand cmd;
SqlDataReader dataR;
//SqlDataAdapter dataA;
DataTable dt;
//DataSet ds;
//DataColumn dc;
string sql;
int maxPage;//最大頁數
cnn = GetSqlConnection();
sql = "SELECT COUNT(*) as nums,SUM(storeamounta) as mskc,SUM(storeamountz) as zdkc,SUM(price*storeamounta) as msmy,SUM(price*storeamountz) as zdmy FROM BookInfoSheet,PressInfoSheet,BookStoreSheetA,BookStoreSheetZ where BookInfoSheet.presscode=PressInfoSheet.code and BookInfoSheet.code=BookStoreSheetA.bookcode and BookInfoSheet.code=BookStoreSheetZ.bookcode ";
if (TxtQuery_content.Text.Trim() != "")
sql += " AND " + DdlQuery_tj.SelectedItem.Value + " LIKE '%" + TxtQuery_content.Text.Trim() + "%'";
cmd = new SqlCommand(sql, cnn);
try
......{
dataR = cmd.ExecuteReader();
if (dataR.Read())
......{
if (dataR["nums"].ToString() == "0")
LblMsg.Text = "";
else
LblMsg.Text = "合計:記錄數 " + dataR["nums"].ToString() + " 總店庫存 " + dataR["zdkc"].ToString() + " 門市庫存 " + dataR["mskc"].ToString() + " 總店碼洋 " + dataR["zdmy"].ToString() + " 門市碼洋 " + dataR["msmy"].ToString();
}
dataR.Close();
}
catch (SqlException ex)
......{
Response.Write("數據讀取出錯:" + ex.Message);
}
/**//**//**////取表头信息结束
///綁定gridViewPublishers
sql = "SELECT BookInfoSheet.*,abbrname,storeamounta,storeamountz FROM BookInfoSheet,PressInfoSheet,BookStoreSheetA,BookStoreSheetZ where BookInfoSheet.presscode=PressInfoSheet.code and BookInfoSheet.code=BookStoreSheetA.bookcode and BookInfoSheet.code=BookStoreSheetZ.bookcode ";
if (TxtQuery_content.Text.Trim() != "")
sql += " AND " + DdlQuery_tj.SelectedItem.Value + " LIKE '%" + TxtQuery_content.Text.Trim() + "%'";
sql += " ORDER BY BookInfoSheet.name DESC";
//dataA = new SqlDataAdapter(sql, cnn);
//dt = new DataTable("gridViewPublishers");
//dt.Columns.Add("ID");
//dt.Columns["ID"].AutoIncrement = true;
dt = GetDataTable(cnn, sql);
try
......{
//dataA.Fill(dt);
if (dt.DefaultView.Count % gridViewPublishers.PageSize > 0)
......{
maxPage = dt.DefaultView.Count / gridViewPublishers.PageSize + 1;
}
else
......{
maxPage = dt.DefaultView.Count / gridViewPublishers.PageSize;
}
while (gridViewPublishers.PageIndex > 0)
......{
if (maxPage < gridViewPublishers.PageIndex + 1)
......{
gridViewPublishers.PageIndex = gridViewPublishers.PageIndex - 1;
}
else
......{
break;
}
}
gridViewPublishers.DataSource = dt;
gridViewPublishers.DataBind();
CloseSqlConnection(cnn);
SetBackColor(gridViewPublishers, dt, "storeamounta", 9, System.Drawing.Color.Orange);
SetBackColor(gridViewPublishers, dt, "storeamountz", 8, System.Drawing.Color.OrangeRed);
BtnDelChecked.Visible = true;
}
catch (SqlException ex)
......{
Response.Write("數據讀取錯:" + ex.Message);
}
CloseSqlConnection(cnn);
}
#endregion
排序排序#region 排序
/**//**//**////
///
///
protected void GridViewPublishersSorting(Object sender, GridViewSortEventArgs e)
......{
GridViewSortExpression = e.SortExpression;
int pageIndex = gridViewPublishers.PageIndex;
//if (dt != null)
//LblMsg.Text = e.SortExpression;
gridViewPublishers.DataSource = SortDataTable(ViewState["dataSource"] as DataTable, false);
gridViewPublishers.DataBind();
SetBackColor(gridViewPublishers, ViewState["dataSource"] as DataTable, "storeamountz",8, System.Drawing.Color.OrangeRed);
SetBackColor(gridViewPublishers, ViewState["dataSource"] as DataTable, "storeamounta",9,System.Drawing.Color.Orange);
gridViewPublishers.PageIndex = pageIndex;
}
//对DataTable排序操作
private DataView SortDataTable(DataTable dataTable, bool isPageIndexChanging)
......{
if (dataTable != null)
......{
DataView dataView = new DataView(dataTable);
if (GridViewSortExpression != string.Empty)
......{
if (isPageIndexChanging)
......{
dataView.Sort = String.Format("{0} {1}", GridViewSortExpression, GridViewSortDirection);
}
else
......{
dataView.Sort = String.Format("{0} {1}", GridViewSortExpression, GetDirection());
}
}
return dataView;
}
else
......{
return new DataView();
}
}
#endregion
删除删除#region 删除
/**//**//**////
///
///
//
protected void GridViewRowDelete(Object sender, GridViewDeleteEventArgs e)
......{
int strCode = Convert.ToInt32(gridViewPublishers.DataKeys[e.RowIndex].Value);
//string strCode=delete
int zdkc = Convert.ToInt32(gridViewPublishers.Rows[e.RowIndex].Cells[8].Text);
int mskc = Convert.ToInt32(gridViewPublishers.Rows[e.RowIndex].Cells[9].Text);
if (zdkc != 0 || mskc != 0)
......{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Success", GetAlertScript("该书存在库存,无法删除!"));
}
else
......{
using (SqlConnection cnn = GetSqlConnection())
......{
string sql = "delete from bookinfosheet where code=@code";
using (SqlCommand cmd = new SqlCommand(sql, cnn))
......{
SqlParameter ParaCode = new SqlParameter("code", SqlDbType.Int);
ParaCode.Value = strCode;
cmd.Parameters.Add(ParaCode);
//gridViewPublishers.DeleteRow(e.RowIndex);
try
......{
cmd.ExecuteNonQuery();
Page.ClientScript.RegisterStartupScript(this.GetType(),"success",GetAlertScript("删除成功!"));
}
catch (SqlException ex)
......{
Response.Write("删除失败:" + ex.Message);
}
}
}
GridViewPublishersDataBind();
ClearTextBox();
}
}
#endregion
编辑编辑#region 编辑
/**//**//**////
///
protected void GridViewRowEdit(Object sender, GridViewEditEventArgs e)
......{
SqlConnection cnn;
SqlCommand cmd;
SqlDataReader dataR;
string sql;
LblCode.Text = gridViewPublishers.Rows[e.NewEditIndex].Cells[2].Text;//保存Code值
LblCode.Visible = true;
LblCode1.Visible = true;
BtnSave.Text = "保存修改";
BtnClear.Text = "取消";
//gridViewPublishers.Rows[e.NewEditIndex].Enabled = false;
using (cnn = GetSqlConnection())
......{
sql = "SELECT * FROM BookInfoSheet WHERE Code=@Code";
using (cmd = new SqlCommand(sql, cnn))
......{
SqlParameter ParaCode = new SqlParameter("Code", SqlDbType.Int);
ParaCode.Value = LblCode.Text;
cmd.Parameters.Add(ParaCode);
try
......{
dataR = cmd.ExecuteReader();
while (dataR.Read())
......{
TxtISBN.Text = dataR["ISBN"].ToString();
TxtName.Text = dataR["Name"].ToString();
TxtBookPrice.Text = dataR["Price"].ToString();
TxtSourceCode.Text = dataR["SourceCode"].ToString();
TxtBookSelfCode.Text = dataR["SelfCode"].ToString();
TxtCbyYear.Text = dataR["YYear"].ToString();
TxtBc.Text = dataR["Version"].ToString();
TxtBookAuthor.Text = dataR["Author"].ToString();
TxtLocateCode.Text = dataR["LocCode"].ToString();
TxtMemo.Text = dataR["Memo"].ToString();
DdlSelPress.SelectedIndex = DdlSelPress.Items.IndexOf(DdlSelPress.Items.FindByValue(dataR["PressCode"].ToString()));
}
}
catch (SqlException ex)
......{
Response.Write("数据读取错:" + ex.Message);
}
}
}
}
#endregion
翻頁翻頁#region 翻頁
protected void GridViewPublishersPageChanged(Object sender, GridViewPageEventArgs e)
......{
gridViewPublishers.PageIndex = e.NewPageIndex;
GridViewPublishersDataBind();
}
#endregion
RowDataBound事件RowDataBound事件#region RowDataBound事件
/**//**//**//// <summary>
/// 鼠标移动时改变背景样式,和自增列
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void gridViewPublishers_RowDataBound(object sender, GridViewRowEventArgs e)
......{
//判断是否数据行
if (e.Row.RowType == DataControlRowType.DataRow)
......{
//当鼠标停留时更改背景色
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#6699cc'");
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
//
System.Web.UI.HtmlControls.HtmlInputCheckBox check = (System.Web.UI.HtmlControls.HtmlInputCheckBox)e.Row.FindControl("check");
string sid = check.Value;
if (e.Row.RowIndex % 2 != 0)
e.Row.Attributes.Add("onclick", "GetRowIndex('" + sid + "'),tog(this,'#EFF3FB')");
else
e.Row.Attributes.Add("onclick", "GetRowIndex('" + sid + "'),tog(this,'#ffffff')");
}
//设置序号列
if (e.Row.RowIndex != -1)
......{
int id = (e.Row.RowIndex + 1)+gridViewPublishers.PageSize*gridViewPublishers.PageIndex;
e.Row.Cells[1].Text = id.ToString();
}
}
#endregion
#endregion
事件事件#region 事件
清空输入清空输入#region 清空输入
/**//**//**//// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnClear_Click(object sender, EventArgs e)
......{
ClearTextBox();
}
#endregion
查詢事件查詢事件#region 查詢事件
/**//**//**//// <summary>
/// 查詢事件BtnQuery_Click()
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnQuery_Click(object sender, EventArgs e)
......{
GridViewPublishersDataBind();
}
#endregion
保存用戶輸入保存用戶輸入#region 保存用戶輸入
/**//**//**//// <summary>
/// BtnSave事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnSave_Click(object sender, EventArgs e)
......{
string bookCode, sql;
SqlConnection cnn;
SqlCommand cmd;
SqlDataReader dataR;
try
......{
cnn = GetSqlConnection();
if (LblCode.Text == "")
添加状态添加状态#region 添加状态
......{
sql = "SELECT Code FROM BookInfoSheet WHERE PressCode=@PressCode ORDER BY Code DESC";
//计算新的Code值
using (cmd = new SqlCommand(sql, cnn))
......{
SqlParameter ParaPressCode1 = new SqlParameter("PressCode", SqlDbType.Char, 3);
ParaPressCode1.Value = DdlSelPress.SelectedValue;
cmd.Parameters.Add(ParaPressCode1);
dataR = cmd.ExecuteReader();
if (dataR.Read())
bookCode = DdlSelPress.SelectedValue + String.Format("0000", (Convert.ToInt32(dataR["Code"].ToString().Substring(dataR["Code"].ToString().Length - 4)) + 1));
else
bookCode = DdlSelPress.SelectedValue + "0001";
dataR.Close();
}
sql = "INSERT INTO BookInfoSheet(Code,Name,SourceCode,SelfCode,ISBN,YYear,Version,Author,Price,PressCode,LocCode,Memo) VALUES(@Code,@Name,@SourceCode,@SelfCode,@ISBN,@YYear,@Version,@Author,@Price,@PressCode,@LocCode,@Memo)";
//sql = "UPDATE BookInfoSheet Set Name=@Name,SourceCode=@SourceCode,SelfCode=@SelfCode,ISBN=@ISBN,YYear=@YYear,Version=@Version,Price=@Price,PressCode=@PressCode,LocCode=@LocCode,Memo=@Memo WHERE Code=" + LblCode.Text;
using (cmd = new SqlCommand(sql, cnn))
......{
SqlParameter ParaCode, ParaName, ParaSourceCode, ParaSelfCode, ParaISBN, ParaYYear, ParaVersion, ParaAuthor, ParaPrice, ParaPressCode, ParaLocCode, ParaMemo;
ParaCode = new SqlParameter("Code", bookCode);
ParaName = new SqlParameter("Name", TxtName.Text);
ParaSourceCode = new SqlParameter("SourceCode", TxtSourceCode.Text);
ParaSelfCode = new SqlParameter("SelfCode", TxtBookSelfCode.Text);
ParaISBN = new SqlParameter("ISBN", TxtISBN.Text);
ParaYYear = new SqlParameter("YYear", TxtCbyYear.Text);
ParaVersion = new SqlParameter("Version", TxtBc.Text);
ParaAuthor = new SqlParameter("Author", TxtBookAuthor.Text);
ParaPrice = new SqlParameter("Price", TxtBookPrice.Text);
ParaPressCode = new SqlParameter("PressCode", DdlSelPress.SelectedValue);
ParaLocCode = new SqlParameter("LocCode", TxtLocateCode.Text);
ParaMemo = new SqlParameter("Memo", TxtMemo.Text);
cmd.Parameters.Add(ParaCode);
cmd.Parameters.Add(ParaAuthor);
cmd.Parameters.Add(ParaISBN);
cmd.Parameters.Add(ParaLocCode);
cmd.Parameters.Add(ParaMemo);
cmd.Parameters.Add(ParaName);
cmd.Parameters.Add(ParaPressCode);
cmd.Parameters.Add(ParaPrice);
cmd.Parameters.Add(ParaSelfCode);
cmd.Parameters.Add(ParaSourceCode);
cmd.Parameters.Add(ParaVersion);
cmd.Parameters.Add(ParaYYear);
try
......{
cmd.ExecuteNonQuery();
Page.ClientScript.RegisterStartupScript(this.GetType(), "Success", GetAlertScript("保存成功!"));
GridViewPublishersDataBind();
}
catch (Exception ex)
......{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Success", GetAlertScript("保存失敗!" + ex.Message));
Response.Write("數據插入錯:" + ex.Message);
}
}
}
#endregion
else
修改状态修改状态#region 修改状态
......{
sql = "UPDATE BookInfoSheet Set Name=@Name,SourceCode=@SourceCode,SelfCode=@SelfCode,ISBN=@ISBN,YYear=@YYear,Version=@Version,Price=@Price,PressCode=@PressCode,LocCode=@LocCode,Memo=@Memo WHERE Code=" + LblCode.Text;
using (cmd = new SqlCommand(sql, cnn))
......{
SqlParameter ParaName, ParaSourceCode, ParaSelfCode, ParaISBN, ParaYYear, ParaVersion, ParaAuthor, ParaPrice, ParaPressCode, ParaLocCode, ParaMemo;
ParaName = new SqlParameter("Name", TxtName.Text);
ParaSourceCode = new SqlParameter("SourceCode", TxtSourceCode.Text);
ParaSelfCode = new SqlParameter("SelfCode", TxtBookSelfCode.Text);
ParaISBN = new SqlParameter("ISBN", TxtISBN.Text);
ParaYYear = new SqlParameter("YYear", TxtCbyYear.Text);
ParaVersion = new SqlParameter("Version", TxtBc.Text);
ParaAuthor = new SqlParameter("Author", TxtBookAuthor.Text);
ParaPrice = new SqlParameter("Price", TxtBookPrice.Text);
ParaPressCode = new SqlParameter("PressCode", DdlSelPress.SelectedValue);
ParaLocCode = new SqlParameter("LocCode", TxtLocateCode.Text);
ParaMemo = new SqlParameter("Memo", TxtMemo.Text);
cmd.Parameters.Add(ParaAuthor);
cmd.Parameters.Add(ParaISBN);
cmd.Parameters.Add(ParaLocCode);
cmd.Parameters.Add(ParaMemo);
cmd.Parameters.Add(ParaName);
cmd.Parameters.Add(ParaPressCode);
cmd.Parameters.Add(ParaPrice);
cmd.Parameters.Add(ParaSelfCode);
cmd.Parameters.Add(ParaSourceCode);
cmd.Parameters.Add(ParaVersion);
cmd.Parameters.Add(ParaYYear);
try
......{
cmd.ExecuteNonQuery();
Page.ClientScript.RegisterStartupScript(this.GetType(), "Success", GetAlertScript("修改成功!"));
GridViewPublishersDataBind();
}
catch (Exception ex)
......{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Success", GetAlertScript("修改失敗!" + ex.Message));
Response.Write("數據修改錯:" + ex.Message);
}
}
cnn.Close();
}
#endregion
CloseSqlConnection(cnn);
ClearTextBox();
GridViewPublishersDataBind();
}
catch (Exception ex)
......{
ClearTextBox();
Response.Write("連接數據庫錯:" + ex.Message);
}
}
#endregion
全选全选#region 全选
/**//**//**//// <summary>
/// 全选事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void checkAll_ServerChange(object sender, EventArgs e)
......{
int zdkc, mskc;
foreach (GridViewRow gvr in gridViewPublishers.Rows)
......{
zdkc = Convert.ToInt32(gvr.Cells[8].Text);
mskc = Convert.ToInt32(gvr.Cells[9].Text);
if(zdkc==0&&mskc==0)
((CheckBox)gvr.Cells[0].FindControl("check")).Checked = ((CheckBox)sender).Checked;
}
}
#endregion
批量删除批量删除#region 批量删除
/**//**//**//// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnDelChecked_Click(object sender, EventArgs e)
......{
int zdkc, mskc;
bool isChecked;
HtmlInputCheckBox check;
GridViewRow row;
string sID="";
for (int i = 0; i < gridViewPublishers.Rows.Count; i++)
......{
row = gridViewPublishers.Rows[i];
zdkc = Convert.ToInt32(row.Cells[8].Text);
mskc = Convert.ToInt32(row.Cells[9].Text);
check =(HtmlInputCheckBox)row.FindControl("check");
if (zdkc == 0 && mskc == 0 && check.Checked)
sID += check.Value + ",";
}
if (sID.Length > 0)
......{
DeleteRows("BookInfoSheet", sID);
GridViewPublishersDataBind();
Page.ClientScript.RegisterStartupScript(this.GetType(), "Success", GetAlertScript("批量删除完成!"));
}
else
......{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Success", GetAlertScript("请选择要删除的记录!"));
}
}
#endregion
导出为Excel导出为Excel#region 导出为Excel
/**//**//**//// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
///
protected void BtnToExcel_Click(object sender, EventArgs e)
......{
GridViewExport("图书信息", "excel");
}
#endregion
导出为Word导出为Word#region 导出为Word
/**//**//**//// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnToWord_Click(object sender, EventArgs e)
......{
GridViewExport("图书信息", "word");
}
#endregion
#endregion
}