分享
 
 
 

实现自定义分页(如:改变传统datagrid的分页显示、通过A-Z的字母来分页等)、选择的check

王朝other·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

代码

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

namespace DataGridDemoCS

{

///

/// Demo1 的摘要说明。

///

public class DemoFinal : System.Web.UI.Page

{

protected System.Data.SqlClient.SqlConnection sqlConnection1;

protected System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1;

//注意:dataset在编辑状态中将清空,所以可以将dataset申明为static,这样就可以保持dataset状态;

//静态成员变量不可以用this来调用

protected DataGridDemoCS.dsCustomers dsCustomers1;

protected DataGridDemoCS.dsCustomers.CustomersDataTable dsCustomerTable;

protected DataGridDemoCS.dsCustomers.CustomersRow dsCustomerRow;

protected System.Data.SqlClient.SqlCommand sqlSelectCommand1;

protected System.Data.SqlClient.SqlCommand sqlInsertCommand1;

protected System.Data.SqlClient.SqlCommand sqlUpdateCommand1;

protected System.Data.SqlClient.SqlCommand sqlDeleteCommand1;

protected System.Data.SqlClient.SqlConnection sqlConnection2;

protected System.Web.UI.WebControls.Button Button1;

protected System.Web.UI.WebControls.Button BtnInsertOneRow;

protected System.Web.UI.WebControls.Button BtnDeleteGrouply;

protected System.Web.UI.WebControls.Panel PnlPage;

protected System.Data.DataView dv;

protected System.Data.SqlClient.SqlDataAdapter sqlDataAdapter2;

protected System.Data.SqlClient.SqlConnection sqlConnection3;

protected System.Web.UI.WebControls.DataGrid DataGrid1;

public int ExpandedItem=7;

public Unit HostColumnWidth;

private DataGrid detailsGrid;

const string ExpandText = "+";

protected System.Data.SqlClient.SqlCommand sqlSelectCommand2;

protected System.Data.SqlClient.SqlCommand sqlInsertCommand2;

protected System.Data.SqlClient.SqlCommand sqlUpdateCommand2;

protected System.Data.SqlClient.SqlCommand sqlDeleteCommand2;

protected System.Web.UI.WebControls.Button Button2;

const string CollapseText = "-";

private void Page_Load(object sender, System.EventArgs e)

{

// 在此处放置用户代码以初始化页面

if (!Page.IsPostBack)

{

ExpandedItem = -1;

testWorkFlow="";

ViewState["Sort"]="CustomerID";

ViewState["orderby"]="asc";

bindDate();

BtnDeleteGrouply.Attributes.Add("OnClick","javascript:DeleteGrouply();");

HostColumnWidth = Unit.Pixel(150);

}

}

void bindDate()

{

testWorkFlow="";

sqlDataAdapter1.Fill(dsCustomers1,"Customers");

if ((string)(ViewState["Sort"])!="")

dv.Sort=(string)ViewState["Sort"]+" "+ViewState["orderby"];

else

dsCustomers1.Customers.DefaultView.Sort="CustomerID";

if ((string)(ViewState["alpha"])!="")

{

dv.RowFilter="CustomerID LIKE '"+(string)(ViewState["alpha"])+"%'";

}

DataGrid1.DataBind();

m_CreatePageTimes=0;

}

#region Web 窗体设计器生成的代码

override protected void OnInit(EventArgs e)

{

//

// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。

//

InitializeComponent();

base.OnInit(e);

}

///

/// 设计器支持所需的方法 - 不要使用代码编辑器修改

/// 此方法的内容。

///

private void InitializeComponent()

{

this.sqlConnection1 = new System.Data.SqlClient.SqlConnection();

this.sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter();

this.sqlDeleteCommand1 = new System.Data.SqlClient.SqlCommand();

this.sqlConnection2 = new System.Data.SqlClient.SqlConnection();

this.sqlInsertCommand1 = new System.Data.SqlClient.SqlCommand();

this.sqlSelectCommand1 = new System.Data.SqlClient.SqlCommand();

this.sqlUpdateCommand1 = new System.Data.SqlClient.SqlCommand();

this.dsCustomers1 = new DataGridDemoCS.dsCustomers();

this.dv = new System.Data.DataView();

this.sqlDataAdapter2 = new System.Data.SqlClient.SqlDataAdapter();

this.sqlDeleteCommand2 = new System.Data.SqlClient.SqlCommand();

this.sqlConnection3 = new System.Data.SqlClient.SqlConnection();

this.sqlInsertCommand2 = new System.Data.SqlClient.SqlCommand();

this.sqlSelectCommand2 = new System.Data.SqlClient.SqlCommand();

this.sqlUpdateCommand2 = new System.Data.SqlClient.SqlCommand();

((System.ComponentModel.ISupportInitialize)(this.dsCustomers1)).BeginInit();

((System.ComponentModel.ISupportInitialize)(this.dv)).BeginInit();

this.DataGrid1.ItemCreated += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemCreated);

this.DataGrid1.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_ItemCommand);

this.DataGrid1.Init += new System.EventHandler(this.DataGrid1_Init);

this.DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged);

this.DataGrid1.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_CancelCommand);

this.DataGrid1.PreRender += new System.EventHandler(this.DataGrid1_PreRender);

this.DataGrid1.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_EditCommand);

this.DataGrid1.SortCommand += new System.Web.UI.WebControls.DataGridSortCommandEventHandler(this.DataGrid1_SortCommand);

this.DataGrid1.DataBinding += new System.EventHandler(this.DataGrid1_DataBinding);

this.DataGrid1.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_UpdateCommand);

this.DataGrid1.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_DeleteCommand);

this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);

this.Button1.Click += new System.EventHandler(this.Button1_Click);

this.BtnInsertOneRow.Click += new System.EventHandler(this.BtnInsertOneRow_Click);

this.BtnDeleteGrouply.Click += new System.EventHandler(this.BtnDeleteGrouply_Click);

//

// sqlConnection1

//

this.sqlConnection1.ConnectionString = "workstation id=\"FANCY-FAMILY\";packet size=4096;user id=sa;data source=\"FANCY-FAMI" +

"LY\";persist security info=False;initial catalog=Northwind";

//

// sqlDataAdapter1

//

this.sqlDataAdapter1.DeleteCommand = this.sqlDeleteCommand1;

this.sqlDataAdapter1.InsertCommand = this.sqlInsertCommand1;

this.sqlDataAdapter1.SelectCommand = this.sqlSelectCommand1;

this.sqlDataAdapter1.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {

new System.Data.Common.DataTableMapping("Table", "Customers", new System.Data.Common.DataColumnMapping[] {

new System.Data.Common.DataColumnMapping("CustomerID", "CustomerID"),

new System.Data.Common.DataColumnMapping("CompanyName", "CompanyName"),

new System.Data.Common.DataColumnMapping("ContactName", "ContactName"),

new System.Data.Common.DataColumnMapping("ContactTitle", "ContactTitle"),

new System.Data.Common.DataColumnMapping("Address", "Address"),

new System.Data.Common.DataColumnMapping("City", "City"),

new System.Data.Common.DataColumnMapping("Region", "Region"),

new System.Data.Common.DataColumnMapping("PostalCode", "PostalCode"),

new System.Data.Common.DataColumnMapping("Country", "Country"),

new System.Data.Common.DataColumnMapping("Phone", "Phone"),

new System.Data.Common.DataColumnMapping("Fax", "Fax")})});

this.sqlDataAdapter1.UpdateCommand = this.sqlUpdateCommand1;

//

// sqlDeleteCommand1

//

this.sqlDeleteCommand1.CommandText = @"DELETE FROM Customers WHERE (CustomerID = @Original_CustomerID) AND (Address = @Original_Address OR @Original_Address IS NULL AND Address IS NULL) AND (City = @Original_City OR @Original_City IS NULL AND City IS NULL) AND (CompanyName = @Original_CompanyName) AND (ContactName = @Original_ContactName OR @Original_ContactName IS NULL AND ContactName IS NULL) AND (ContactTitle = @Original_ContactTitle OR @Original_ContactTitle IS NULL AND ContactTitle IS NULL) AND (Country = @Original_Country OR @Original_Country IS NULL AND Country IS NULL) AND (Fax = @Original_Fax OR @Original_Fax IS NULL AND Fax IS NULL) AND (Phone = @Original_Phone OR @Original_Phone IS NULL AND Phone IS NULL) AND (PostalCode = @Original_PostalCode OR @Original_PostalCode IS NULL AND PostalCode IS NULL) AND (Region = @Original_Region OR @Original_Region IS NULL AND Region IS NULL)";

this.sqlDeleteCommand1.Connection = this.sqlConnection2;

this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_CustomerID", System.Data.SqlDbType.NVarChar, 5, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "CustomerID", System.Data.DataRowVersion.Original, null));

this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_Address", System.Data.SqlDbType.NVarChar, 60, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Address", System.Data.DataRowVersion.Original, null));

this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_City", System.Data.SqlDbType.NVarChar, 15, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "City", System.Data.DataRowVersion.Original, null));

this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_CompanyName", System.Data.SqlDbType.NVarChar, 40, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "CompanyName", System.Data.DataRowVersion.Original, null));

this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ContactName", System.Data.SqlDbType.NVarChar, 30, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ContactName", System.Data.DataRowVersion.Original, null));

this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ContactTitle", System.Data.SqlDbType.NVarChar, 30, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ContactTitle", System.Data.DataRowVersion.Original, null));

this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_Country", System.Data.SqlDbType.NVarChar, 15, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Country", System.Data.DataRowVersion.Original, null));

this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_Fax", System.Data.SqlDbType.NVarChar, 24, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Fax", System.Data.DataRowVersion.Original, null));

this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_Phone", System.Data.SqlDbType.NVarChar, 24, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Phone", System.Data.DataRowVersion.Original, null));

this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_PostalCode", System.Data.SqlDbType.NVarChar, 10, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "PostalCode", System.Data.DataRowVersion.Original, null));

this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_Region", System.Data.SqlDbType.NVarChar, 15, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Region", System.Data.DataRowVersion.Original, null));

//

// sqlConnection2

//

this.sqlConnection2.ConnectionString = "workstation id=\"FANCY-FAMILY\";packet size=4096;user id=sa;data source=\"FANCY-FAMI" +

"LY\";persist security info=False;initial catalog=Northwind";

//

// sqlInsertCommand1

//

this.sqlInsertCommand1.CommandText = @"INSERT INTO Customers(CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax) VALUES (@CustomerID, @CompanyName, @ContactName, @ContactTitle, @Address, @City, @Region, @PostalCode, @Country, @Phone, @Fax); SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM Customers WHERE (CustomerID = @CustomerID)";

this.sqlInsertCommand1.Connection = this.sqlConnection2;

this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@CustomerID", System.Data.SqlDbType.NVarChar, 5, "CustomerID"));

this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@CompanyName", System.Data.SqlDbType.NVarChar, 40, "CompanyName"));

this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ContactName", System.Data.SqlDbType.NVarChar, 30, "ContactName"));

this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ContactTitle", System.Data.SqlDbType.NVarChar, 30, "ContactTitle"));

this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Address", System.Data.SqlDbType.NVarChar, 60, "Address"));

this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@City", System.Data.SqlDbType.NVarChar, 15, "City"));

this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Region", System.Data.SqlDbType.NVarChar, 15, "Region"));

this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@PostalCode", System.Data.SqlDbType.NVarChar, 10, "PostalCode"));

this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Country", System.Data.SqlDbType.NVarChar, 15, "Country"));

this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Phone", System.Data.SqlDbType.NVarChar, 24, "Phone"));

this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Fax", System.Data.SqlDbType.NVarChar, 24, "Fax"));

//

// sqlSelectCommand1

//

this.sqlSelectCommand1.CommandText = "SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region," +

" PostalCode, Country, Phone, Fax FROM Customers";

this.sqlSelectCommand1.Connection = this.sqlConnection2;

//

// sqlUpdateCommand1

//

this.sqlUpdateCommand1.CommandText = @"UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName, ContactName = @ContactName, ContactTitle = @ContactTitle, Address = @Address, City = @City, Region = @Region, PostalCode = @PostalCode, Country = @Country, Phone = @Phone, Fax = @Fax WHERE (CustomerID = @Original_CustomerID) AND (Address = @Original_Address OR @Original_Address IS NULL AND Address IS NULL) AND (City = @Original_City OR @Original_City IS NULL AND City IS NULL) AND (CompanyName = @Original_CompanyName) AND (ContactName = @Original_ContactName OR @Original_ContactName IS NULL AND ContactName IS NULL) AND (ContactTitle = @Original_ContactTitle OR @Original_ContactTitle IS NULL AND ContactTitle IS NULL) AND (Country = @Original_Country OR @Original_Country IS NULL AND Country IS NULL) AND (Fax = @Original_Fax OR @Original_Fax IS NULL AND Fax IS NULL) AND (Phone = @Original_Phone OR @Original_Phone IS NULL AND Phone IS NULL) AND (PostalCode = @Original_PostalCode OR @Original_PostalCode IS NULL AND PostalCode IS NULL) AND (Region = @Original_Region OR @Original_Region IS NULL AND Region IS NULL); SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM Customers WHERE (CustomerID = @CustomerID)";

this.sqlUpdateCommand1.Connection = this.sqlConnection2;

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@CustomerID", System.Data.SqlDbType.NVarChar, 5, "CustomerID"));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@CompanyName", System.Data.SqlDbType.NVarChar, 40, "CompanyName"));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ContactName", System.Data.SqlDbType.NVarChar, 30, "ContactName"));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ContactTitle", System.Data.SqlDbType.NVarChar, 30, "ContactTitle"));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Address", System.Data.SqlDbType.NVarChar, 60, "Address"));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@City", System.Data.SqlDbType.NVarChar, 15, "City"));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Region", System.Data.SqlDbType.NVarChar, 15, "Region"));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@PostalCode", System.Data.SqlDbType.NVarChar, 10, "PostalCode"));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Country", System.Data.SqlDbType.NVarChar, 15, "Country"));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Phone", System.Data.SqlDbType.NVarChar, 24, "Phone"));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Fax", System.Data.SqlDbType.NVarChar, 24, "Fax"));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_CustomerID", System.Data.SqlDbType.NVarChar, 5, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "CustomerID", System.Data.DataRowVersion.Original, null));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_Address", System.Data.SqlDbType.NVarChar, 60, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Address", System.Data.DataRowVersion.Original, null));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_City", System.Data.SqlDbType.NVarChar, 15, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "City", System.Data.DataRowVersion.Original, null));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_CompanyName", System.Data.SqlDbType.NVarChar, 40, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "CompanyName", System.Data.DataRowVersion.Original, null));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ContactName", System.Data.SqlDbType.NVarChar, 30, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ContactName", System.Data.DataRowVersion.Original, null));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ContactTitle", System.Data.SqlDbType.NVarChar, 30, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ContactTitle", System.Data.DataRowVersion.Original, null));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_Country", System.Data.SqlDbType.NVarChar, 15, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Country", System.Data.DataRowVersion.Original, null));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_Fax", System.Data.SqlDbType.NVarChar, 24, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Fax", System.Data.DataRowVersion.Original, null));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_Phone", System.Data.SqlDbType.NVarChar, 24, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Phone", System.Data.DataRowVersion.Original, null));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_PostalCode", System.Data.SqlDbType.NVarChar, 10, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "PostalCode", System.Data.DataRowVersion.Original, null));

this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_Region", System.Data.SqlDbType.NVarChar, 15, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Region", System.Data.DataRowVersion.Original, null));

//

// dsCustomers1

//

this.dsCustomers1.DataSetName = "dsCustomers";

this.dsCustomers1.Locale = new System.Globalization.CultureInfo("zh-CN");

//

// dv

//

this.dv.Table = this.dsCustomers1.Customers;

//

// sqlDataAdapter2

//

this.sqlDataAdapter2.DeleteCommand = this.sqlDeleteCommand2;

this.sqlDataAdapter2.InsertCommand = this.sqlInsertCommand2;

this.sqlDataAdapter2.SelectCommand = this.sqlSelectCommand2;

this.sqlDataAdapter2.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {

new System.Data.Common.DataTableMapping("Table", "Orders", new System.Data.Common.DataColumnMapping[] {

new System.Data.Common.DataColumnMapping("OrderID", "OrderID"),

new System.Data.Common.DataColumnMapping("OrderDate", "OrderDate"),

new System.Data.Common.DataColumnMapping("ShipName", "ShipName"),

new System.Data.Common.DataColumnMapping("ShipAddress", "ShipAddress"),

new System.Data.Common.DataColumnMapping("ShipCity", "ShipCity"),

new System.Data.Common.DataColumnMapping("CustomerID", "CustomerID")})});

this.sqlDataAdapter2.UpdateCommand = this.sqlUpdateCommand2;

//

// sqlDeleteCommand2

//

this.sqlDeleteCommand2.CommandText = @"DELETE FROM Orders WHERE (OrderID = @Original_OrderID) AND (CustomerID = @Original_CustomerID OR @Original_CustomerID IS NULL AND CustomerID IS NULL) AND (OrderDate = @Original_OrderDate OR @Original_OrderDate IS NULL AND OrderDate IS NULL) AND (ShipAddress = @Original_ShipAddress OR @Original_ShipAddress IS NULL AND ShipAddress IS NULL) AND (ShipCity = @Original_ShipCity OR @Original_ShipCity IS NULL AND ShipCity IS NULL) AND (ShipName = @Original_ShipName OR @Original_ShipName IS NULL AND ShipName IS NULL)";

this.sqlDeleteCommand2.Connection = this.sqlConnection3;

this.sqlDeleteCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_OrderID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "OrderID", System.Data.DataRowVersion.Original, null));

this.sqlDeleteCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_CustomerID", System.Data.SqlDbType.NVarChar, 5, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "CustomerID", System.Data.DataRowVersion.Original, null));

this.sqlDeleteCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_OrderDate", System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "OrderDate", System.Data.DataRowVersion.Original, null));

this.sqlDeleteCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ShipAddress", System.Data.SqlDbType.NVarChar, 60, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ShipAddress", System.Data.DataRowVersion.Original, null));

this.sqlDeleteCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ShipCity", System.Data.SqlDbType.NVarChar, 15, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ShipCity", System.Data.DataRowVersion.Original, null));

this.sqlDeleteCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ShipName", System.Data.SqlDbType.NVarChar, 40, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ShipName", System.Data.DataRowVersion.Original, null));

//

// sqlConnection3

//

this.sqlConnection3.ConnectionString = "workstation id=\"FANCY-FAMILY\";packet size=4096;user id=sa;data source=\"FANCY-FAMI" +

"LY\";persist security info=False;initial catalog=Northwind";

//

// sqlInsertCommand2

//

this.sqlInsertCommand2.CommandText = @"INSERT INTO Orders(OrderDate, ShipName, ShipAddress, ShipCity, CustomerID) VALUES (@OrderDate, @ShipName, @ShipAddress, @ShipCity, @CustomerID); SELECT OrderID, OrderDate, ShipName, ShipAddress, ShipCity, CustomerID FROM Orders WHERE (OrderID = @@IDENTITY)";

this.sqlInsertCommand2.Connection = this.sqlConnection3;

this.sqlInsertCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@OrderDate", System.Data.SqlDbType.DateTime, 8, "OrderDate"));

this.sqlInsertCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ShipName", System.Data.SqlDbType.NVarChar, 40, "ShipName"));

this.sqlInsertCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ShipAddress", System.Data.SqlDbType.NVarChar, 60, "ShipAddress"));

this.sqlInsertCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ShipCity", System.Data.SqlDbType.NVarChar, 15, "ShipCity"));

this.sqlInsertCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@CustomerID", System.Data.SqlDbType.NVarChar, 5, "CustomerID"));

//

// sqlSelectCommand2

//

this.sqlSelectCommand2.CommandText = "SELECT OrderID, OrderDate, ShipName, ShipAddress, ShipCity, CustomerID FROM Order" +

"s";

this.sqlSelectCommand2.Connection = this.sqlConnection3;

//

// sqlUpdateCommand2

//

this.sqlUpdateCommand2.CommandText = @"UPDATE Orders SET OrderDate = @OrderDate, ShipName = @ShipName, ShipAddress = @ShipAddress, ShipCity = @ShipCity, CustomerID = @CustomerID WHERE (OrderID = @Original_OrderID) AND (CustomerID = @Original_CustomerID OR @Original_CustomerID IS NULL AND CustomerID IS NULL) AND (OrderDate = @Original_OrderDate OR @Original_OrderDate IS NULL AND OrderDate IS NULL) AND (ShipAddress = @Original_ShipAddress OR @Original_ShipAddress IS NULL AND ShipAddress IS NULL) AND (ShipCity = @Original_ShipCity OR @Original_ShipCity IS NULL AND ShipCity IS NULL) AND (ShipName = @Original_ShipName OR @Original_ShipName IS NULL AND ShipName IS NULL); SELECT OrderID, OrderDate, ShipName, ShipAddress, ShipCity, CustomerID FROM Orders WHERE (OrderID = @OrderID)";

this.sqlUpdateCommand2.Connection = this.sqlConnection3;

this.sqlUpdateCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@OrderDate", System.Data.SqlDbType.DateTime, 8, "OrderDate"));

this.sqlUpdateCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ShipName", System.Data.SqlDbType.NVarChar, 40, "ShipName"));

this.sqlUpdateCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ShipAddress", System.Data.SqlDbType.NVarChar, 60, "ShipAddress"));

this.sqlUpdateCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ShipCity", System.Data.SqlDbType.NVarChar, 15, "ShipCity"));

this.sqlUpdateCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@CustomerID", System.Data.SqlDbType.NVarChar, 5, "CustomerID"));

this.sqlUpdateCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_OrderID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "OrderID", System.Data.DataRowVersion.Original, null));

this.sqlUpdateCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_CustomerID", System.Data.SqlDbType.NVarChar, 5, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "CustomerID", System.Data.DataRowVersion.Original, null));

this.sqlUpdateCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_OrderDate", System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "OrderDate", System.Data.DataRowVersion.Original, null));

this.sqlUpdateCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ShipAddress", System.Data.SqlDbType.NVarChar, 60, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ShipAddress", System.Data.DataRowVersion.Original, null));

this.sqlUpdateCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ShipCity", System.Data.SqlDbType.NVarChar, 15, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ShipCity", System.Data.DataRowVersion.Original, null));

this.sqlUpdateCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ShipName", System.Data.SqlDbType.NVarChar, 40, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ShipName", System.Data.DataRowVersion.Original, null));

this.sqlUpdateCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@OrderID", System.Data.SqlDbType.Int, 4, "OrderID"));

this.Button2.Click += new System.EventHandler(this.Button2_Click);

this.Load += new System.EventHandler(this.Page_Load);

((System.ComponentModel.ISupportInitialize)(this.dsCustomers1)).EndInit();

((System.ComponentModel.ISupportInitialize)(this.dv)).EndInit();

}

#endregion

private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

{

testWorkFlow="";

DataGrid1.EditItemIndex=e.Item.ItemIndex;

bindDate();

}

private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

{

DataGrid1.EditItemIndex=-1;

bindDate();

}

private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

{

//注意:e.Item.Cells[0].Text ;是引用不到任何值的,即每次的状态改变都将引发该状态下的数据,不可以跨越状态的获取

//现在是处于编辑状态,所以只能通过类型转换来获取textbox里的值

//((TextBox)e.Item.Cells[1].Controls[0]).Text

//CustomerID设置为只读,在编辑状态下,仍然处于label状态,只能用e.Item.Cells[0].Text;来获取单元格中的值

string strCustomerID=e.Item.Cells[1].Text;

string strCompanyName=((TextBox)e.Item.Cells[2].Controls[0]).Text ;

string strContactName=((TextBox)e.Item.Cells[3].Controls[0]).Text ;

string strCity=((TextBox)e.Item.Cells[4].Controls[0]).Text ;

//在编辑状态调用模版列有两种方式:

//1)((TextBox)e.Item.Cells[4].Controls[1]).Text; 注意必须是Control[1]不是[0] control[0]是一个{System.Web.UI.LiteralControl}, Text: "\r\n\t\t\t\t\t\t\t\t"

//2)((TextBox)e.Item.FindControl["控件id"]).Text; FindControl可以查找该单元内的任何一个控件id

string strCoutry=((TextBox)e.Item.Cells[5].Controls[1]).Text ;

string strPhone=((TextBox)e.Item.Cells[6].Controls[0]).Text ;

sqlDataAdapter1.Fill(dsCustomers1,"Customers");

dsCustomerRow=dsCustomers1.Customers.FindByCustomerID(strCustomerID);

dsCustomerRow.CompanyName=strCompanyName;

dsCustomerRow.ContactName=strContactName;

dsCustomerRow.City=strCity;

dsCustomerRow.Country=strCoutry;

dsCustomerRow.Phone=strPhone;

sqlDataAdapter1.Update(dsCustomers1,"Customers");

dsCustomers1.AcceptChanges();

DataGrid1.EditItemIndex=-1;

bindDate();

//e.Item.ItemIndex

}

private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

{

string CustomersID=e.Item.Cells[0].Text;

}

private void DataGrid1_DataBinding(object sender, System.EventArgs e)

{

Response.Write(e.ToString());

}

private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

{

if (e.CommandName=="alpha")

{

ViewState["alpha"]=e.CommandArgument;

m_CreatePageTimes=0;

DataGrid1.CurrentPageIndex=0;

bindDate();

}

if (e.CommandName=="Cancle")

{

DataGrid1.ShowFooter=false;

}

if (e.CommandName=="Insert")

{

sqlDataAdapter1.Fill(dsCustomers1);

dsCustomerRow=(dsCustomers.CustomersRow)dsCustomers1.Customers.NewRow();

dsCustomerRow.CustomerID=((TextBox)e.Item.Cells[1].Controls[0]).Text ;

dsCustomerRow.CompanyName=((TextBox)e.Item.Cells[2].Controls[0]).Text;

dsCustomerRow.ContactName =((TextBox)e.Item.Cells[3].Controls[0]).Text;

dsCustomerRow.City=((TextBox)e.Item.Cells[4].Controls[0]).Text;

dsCustomerRow.Country=((TextBox)e.Item.Cells[5].Controls[0]).Text;

dsCustomerRow.Phone=((TextBox)e.Item.Cells[6].Controls[0]).Text;

dsCustomers1.Customers.AddCustomersRow(dsCustomerRow);

sqlDataAdapter1.Update(dsCustomers1,"Customers");

dsCustomers1.AcceptChanges();

DataBind();

DataGrid1.ShowFooter=false;

}

if (e.CommandName=="Expand")

{

ExpandItem(e.Item);

}

}

private void ExpandItem(DataGridItem item)

{

if (item.ItemIndex == (ExpandedItem % DataGrid1.PageSize))

SetExpandedItem(item, false);

else

SetExpandedItem(item, true);

}

// Adjust the index of the expanded item

private void SetExpandedItem(DataGridItem item, bool expand)

{

if (expand)

ExpandedItem = (DataGrid1.PageSize*DataGrid1.CurrentPageIndex+item.ItemIndex);

else

ExpandedItem = -1;

}

private void DataGrid1_PreRender(object sender, System.EventArgs e)

{

}

public string testWorkFlow="";

private int m_CreatePageTimes = 0;

private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)

{

testWorkFlow+=e.Item.ItemType.ToString()+"->";

if (e.Item.ItemType==ListItemType.Header)

{

//排序

foreach(TableCell c in e.Item.Cells)

{

if (c.Controls.Count >0 && c.Controls[0].GetType().ToString()=="System.Web.UI.WebControls.DataGridLinkButton")

{

if (((LinkButton)c.Controls[0]).Text==(string)ViewState["Sort"])

{

Label l=new Label();

l.Font.Name="Webdings";

if ((string)ViewState["orderby"]=="asc")

l.Text="5";

else

l.Text="6";

c.Controls.Add(l);

}

}

}

}

if (e.Item.ItemType==ListItemType.Footer)

{

int i=0;LinkButton lb;

foreach(TableCell c in e.Item.Cells)

{

if (i==0)

c.Controls.Add(new CheckBox());

else if (i==e.Item.Cells.Count-2)

{

lb=new LinkButton();

lb.Text="插入";

lb.CommandName="Insert";

c.Controls.Add(lb);

}

else if (i==e.Item.Cells.Count-1)

{

lb=new LinkButton();

lb.Text="取消";

lb.CommandName="Cancle";

c.Controls.Add(lb);

}

else

c.Controls.Add(new TextBox());

i++;

}

}

if (e.Item.ItemType==ListItemType.Pager)

{

if (m_CreatePageTimes==0)

{

e.Item.Cells[0].Controls.Clear();

LinkButton l;

for (int i=65;i<65+25;i++)

{

l=new LinkButton();

LiteralControl lc=new LiteralControl();

lc.Text=" ";

l.CommandName="alpha";

l.CommandArgument=Convert.ToChar(i).ToString();

l.Text=Convert.ToChar(i).ToString();

e.Item.Cells[0].Controls.Add(l);

e.Item.Cells[0].Controls.Add(lc);

}

l=new LinkButton();

l.Text="All";

l.CommandName="alpha";

l.CommandArgument="";

e.Item.Cells[0].Controls.Add(l);

m_CreatePageTimes ++;

}

else if(m_CreatePageTimes==1)

{

foreach(Control ct in e.Item.Cells[0].Controls)

{

switch(ct.GetType().ToString())

{

case "System.Web.UI.WebControls.Label":

{

Label l=(Label)ct;

l.Text="当前页["+l.Text+"]";

break;

}

case "System.Web.UI.LiteralControl":

{

LiteralControl lc=(LiteralControl)ct;

lc.Text="|";

break;

}

case "System.Web.UI.WebControls.DataGridLinkButton":

{

LinkButton lb=(LinkButton)ct;

if (e.Item.Cells[0].Controls.IndexOf(ct)==0 && lb.Text=="...")

lb.Text="[向前翻页]";

else if(e.Item.Cells[0].Controls.IndexOf(ct)==e.Item.Cells[0].Controls.Count-1 && lb.Text=="...")

lb.Text="[向后翻页]";

else

lb.Text="第["+lb.Text+"]页";

break;

}

}

}

}

}

}

private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)

{

DataGrid1.CurrentPageIndex=e.NewPageIndex;

m_CreatePageTimes=0;

bindDate();

}

private void Button1_Click(object sender, System.EventArgs e)

{

Response.Write(testWorkFlow+"End");

}

private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)

{

ViewState["Sort"]=e.SortExpression;

if ((string)ViewState["orderby"]=="asc")

ViewState["orderby"]="desc";

else

ViewState["orderby"]="asc";

m_CreatePageTimes=0;

bindDate();

}

private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)

{

}

public void Check_Changed(object sender,System.EventArgs e)

{

CheckBox chk=(CheckBox)sender;

DataGridItem dgi;

dgi=(DataGridItem)chk.Parent.Parent;

if (chk.Checked)

{

dgi.BackColor = DataGrid1.SelectedItemStyle.BackColor;

dgi.ForeColor = DataGrid1.SelectedItemStyle.ForeColor;

}

else

{

dgi.BackColor = DataGrid1.ItemStyle.BackColor;

dgi.ForeColor = DataGrid1.ItemStyle.ForeColor;

}

}

private void BtnInsertOneRow_Click(object sender, System.EventArgs e)

{

DataGrid1.ShowFooter=true;

}

private void BtnDeleteGrouply_Click(object sender, System.EventArgs e)

{

sqlDataAdapter1.Fill(dsCustomers1,"Customers");

foreach (DataGridItem dgi in DataGrid1.Items)

{

CheckBox chk=(CheckBox)dgi.Cells[0].Controls[1];

if (chk.Checked==true)

{

string CustomerID=dgi.Cells[1].Text;

dsCustomerRow=dsCustomers1.Customers.FindByCustomerID(CustomerID);

dsCustomerRow.Delete();

}

}

sqlDataAdapter1.Update(dsCustomers1);

dsCustomers1.AcceptChanges();

}

private void Button2_Click(object sender, System.EventArgs e)

{

string CustomerID="";

foreach (DataGridItem dgi in DataGrid1.Items)

{

if (((CheckBox)dgi.Cells[0].FindControl("chkOne")).Checked==true)

CustomerID+=dgi.Cells[1].Text;

}

Response.Write(CustomerID);

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有