分享
 
 
 

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

王朝c#·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

代码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- 王朝網路 版權所有