用xmlhttp
1.定义单行编辑器的用户事件ue_enchange,事件的ID为:pbm_enchange。这个事件能响应键盘的输入。
2.在单行编辑器的ue_enchange事件中编写如下脚本:
long lng_found_row
string str_find
//查找条件(左部分与单行编辑器文本相等)
str_find = "ID like " + "'" + this.text + "%'"
//查找符合条件的行
lng_found_row = dw_name.Find(str_find, 1, dw_name.RowCount())
if lng_found_row <= 0 then return
//滚动到相匹配的行
dw_name.ScrollToRow(lng_found_row)
dw_name.SelectRow(0 , false)
//将匹配行加亮显示
dw_name.SelectRow(lng_found_row , true)
[注]Find()函数
用法: dwcontrol.Find( expression , start , end )
说明: 查找满足条件的下一行。
返回值: long,返回指定范围内满足查找条件的第一个数据行的行号;未找到返回0;出错返回-1。
参数 类型及说明
dwcontrol 数据窗口控件名。
expression string,用于指定要查找的条件,其值是个逻辑表达式,表达式中可以使用列名。
start long,用于指明从哪一行开始查找。该参数可以大于数据的总行数。
end long,用于指明查找到哪一个结束查找。该参数可以大于数据的总行数,如果想从后向前找,那么让end参数的值小于start参数即可。
→我是小木鱼(Lag)
写于2000年12月04日
给你发个吧,我也是刚测试出来的.增量查询,静态刷新. 里面的取dataset是我的数据类,你自己写吧.
1.定义个实例变量idwc_dddw
2.在窗口的open事件里面写
dw_1.GetChild('数据窗口中加dddw的列名', idwc_dddw)
idwc_dddw.SetTransObject(SQLCA)
idwc_dddw.Retrieve('参数')
3.在editchanged里面写
idwc_dddw.setfilter("字段名 like '"+data+"%'")
idwc_dddw.filter()
4.OK搞定
1.webForm1.aspx
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="HeFengSMS.SubModule.Test.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
</HEAD>
<BODY>
<meta c name="GENERATOR">
<meta c name="CODE_LANGUAGE">
<meta c name="vs_defaultClientScript">
<meta c
http://schemas.microsoft.com/intellisense/ie5">http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<script>
function search(strWords)
{
var lst1 = document.getElementById("ListBox1");
lst1.options.length=0;
//alert(strWords)
var oHttpReq = new ActiveXObject("MSXML2.XMLHTTP");
var oDoc = new ActiveXObject("MSXML2.DOMDocument");
oHttpReq.open("POST", "WebForm3.aspx?strWords="+escape(strWords), false);
oHttpReq.send("");
result = oHttpReq.responseText;
//alert(result);
oDoc.loadXML(result);
items = oDoc.selectNodes("//NewDataSet/Class");
for (var item = items.nextNode(); item; item = items.nextNode())
{
var DeptNo = item.selectSingleNode("DeptNo").nodeTypedValue;
var DeptName = item.selectSingleNode("DeptName").nodeTypedValue;
//document.getElementById('dropdownlist').value
var newOption = document.createElement("OPTION");
newOption.text = DeptName;
newOption.value = DeptNo;
lst1.options.add(newOption);
}
}
</script>
<form id="Form1" method="post" runat="server">
<P> </P>
<asp:textbox id="TextBox1" runat="server"></asp:textbox></P>
<P><asp:listbox id="ListBox1" runat="server" Height="120px" Width="160px"></asp:listbox></P>
<P> </P>
</form>
</BODY>
</HTML>
WebForm1.aspx.cs
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
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 HeFengSMS.SubModule.Test
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DropDownList DropDownList1;
protected System.Web.UI.WebControls.DropDownList DropDownList2;
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.ListBox ListBox1;
protected System.Web.UI.WebControls.Button Button1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!this.IsPostBack)
{
this.TextBox1.Attributes.Add("onkeyup","search(document.all.TextBox1.value)");
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
WebForm3.aspx
<%@ Page language="c#" Codebehind="WebForm3.aspx.cs" AutoEventWireup="false" Inherits="HeFengSMS.SubModule.Test.WebForm3" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm3</title>
<meta c name="GENERATOR">
<meta c name="CODE_LANGUAGE">
<meta c name="vs_defaultClientScript">
<meta c
http://schemas.microsoft.com/intellisense/ie5">http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body MS_POSITI>
<form id="Form1" method="post" runat="server">
<FONT face="宋体"></FONT>
</form>
</body>
</HTML>
2.WebForm3.aspx.cs
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Xml;
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 HeFengSMS.SubModule.Test
{
/// <summary>
/// WebForm3 的摘要说明。
/// </summary>
public class WebForm3 : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!IsPostBack)
{
if(this.Request["strWords"]!=null)
{
string strWords = Server.HtmlDecode(this.Request["strWords"].ToString());
string strSql = "select DeptNo,DeptName from Depts where DeptName like '%"+strWords+"%'" ;
HeFengSMS.Components.Public p=new HeFengSMS.Components.Public();
DataSet ds = new DataSet();
ds=p.GetDs("Class",strSql);
XmlTextWriter writer = new XmlTextWriter(Response.OutputStream, Response.ContentEncoding);
writer.Formatting = Formatting.Indented;
writer.Indentation = 4;
writer.IndentChar = ' ';
ds.WriteXml(writer);
writer.Flush();
Response.End();
writer.Close();
ds.Clear();
}
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}