Thursday, September 23, 2010

A query instance Ajax.NET


Because the project can only be used. Net 1.1, so the atlas is not working, can only play AjaxProfession.net, Here is a query case. Place a page DataGrid1, all query results are, where they will be in the client-side JS server-side SQL statement passed to the method, perform a query, and can control whether or double-click the line to start a new query. The content can be exported to excel DataGrid1, the simulation of loading gmail in the use of Ajax
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; using System.Data.SqlClient; using System.IO; namespace eol ( /**////  / / / Index of the summary description. / / /  public class index: System.Web.UI.Page ( protected System.Web.UI.WebControls.TextBox TextBox1; protected WebControlLibrary.InputCalendar startTime; protected WebControlLibrary.InputCalendar endTime; protected WebControlLibrary.InputCalendar pStartTime; protected WebControlLibrary.InputCalendar pEndTime; protected System.Data.SqlClient.SqlConnection Conn = new SqlConnection (); protected System.Web.UI.WebControls.TextBox eformsn; protected System.Web.UI.WebControls.Label Label1; protected System.Web.UI.WebControls.DataGrid DataGrid1 = new DataGrid (); protected System.Web.UI.WebControls.Button Button2; protected System.Web.UI.HtmlControls.HtmlInputText applicant; public string toExcel; 
private void Page_Load (object sender, System.EventArgs e) ( AjaxPro.Utility.RegisterTypeForAjax (typeof (eol.index)); )
public DataSet DB (string dataName, string sqlCmd) ( string connStr = "server = 172.16.0.120; uid = msikdb; pwd = dbmsik; database =" + dataName; Conn.ConnectionString = connStr; try ( Conn.Open (); ) catch (Exception ex) ( Conn.Close (); Response.Write (ex.Message); ) SqlCommand cmd = new SqlCommand (sqlCmd, Conn); SqlDataAdapter da = new SqlDataAdapter (); da.SelectCommand = cmd; DataSet ds = new DataSet (); da.Fill (ds); Conn.Close (); return ds; )
Web Form Designer generated code # region Web Form Designer generated code override protected void OnInit (EventArgs e) ( / / / / CODEGEN: This is the ASP.NET Web Form Designer required to call. / / InitializeComponent (); base.OnInit (e); ) 
/**////  / / / This is a design tool must support the method - Do not use the code editor to modify / / / The contents of this method. / / /  private void InitializeComponent () ( this.Conn = new System.Data.SqlClient.SqlConnection (); this.Button2.Click + = new System.EventHandler (this.Button2_Click); this.DataGrid1.ItemCreated + = new System.Web.UI.WebControls.DataGridItemEventHandler (this.getPageIndexStyle); this.Load + = new System.EventHandler (this.Page_Load);
) # Endregion

private void getPageIndexStyle (object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) ( 
if (e.Item.ItemType == ListItemType.Pager) ( e.Item.Cells [0]. Text = "Total Row:" + this.DataGrid1.Items.Count.ToString (); ) ) 
[AjaxPro.AjaxMethod] public string AjaxData (string sSql, bool clientEvent) ( if (clientEvent) ( DataGrid1.ItemDataBound + = new DataGridItemEventHandler (DataGrid1_ItemDataBound); ) / / DataGrid1.AllowPaging = true; / / DataGrid1.PagerStyle.Position = PagerPosition.Top; / / DataGrid1.PagerStyle.Mode = PagerMode.NumericPages; / / DataGrid1.ItemCreated + = new DataGridItemEventHandler (getPageIndexStyle); DataGrid1.DataSource = DB ("query", sSql); DataGrid1.HeaderStyle.BackColor = System.Drawing.Color.Blue; DataGrid1.Width = Unit.Percentage (100); DataGrid1.HeaderStyle.ForeColor = System.Drawing.Color.White; DataGrid1.DataBind (); 

System.Text.StringBuilder sb = new System.Text.StringBuilder (); System.IO.StringWriter sw = new System.IO.StringWriter (sb); System.Web.UI.HtmlTextWriter htw = new HtmlTextWriter (sw); this.DataGrid1.RenderControl (htw); string s = sb.ToString (). Replace ("12:00:00 AM", ""); this.toExcel = s; Session ["txtExcel"] = s; return s; ) 
public void setToExcel () ( / / This line is important, attachment argument that as an attachment to download, you can change the line to open online / / Filename = FileFlow.xls specify the output file name, note the extension and specify the file type matches, you can:. Doc. Xls. Txt. Htm Response.AppendHeader ("Content-Disposition", "attachment; filename = EOL_" + eformsn.Text + ". Xls"); Response.ContentEncoding = System.Text.Encoding.GetEncoding ("big5"); / / Response.ContentType can specify the file type application / ms-excel, application / ms-word, application / ms-txt, application / ms-html or any other browser supporting documentation directly Response.ContentType = "application / ms-excel";
Response.Write (this.toExcel); Response.Write (Session ["txtExcel"]); Session.Abandon (); Response.End (); )
private void Button2_Click (object sender, System.EventArgs e) ( setToExcel (); )
private void DataGrid1_ItemDataBound (object sender, DataGridItemEventArgs e) ( ListItemType itemtype = (ListItemType) e.Item.ItemType; if (itemtype! = ListItemType.Header & & itemtype! = ListItemType.Footer & & itemtype! = ListItemType.Separator) ( e.Item.Attributes.Add ("ondblclick", "showDetail (" + e.Item.Cells [1]. Text +");"); e.Item.Attributes.Add ("onmouseover", "this.className = 'mouseOn'"); e.Item.Attributes.Add ("onmouseout", "this.className =''"); ) )
) ) Client-side js: 

No comments:

Post a Comment