您的位置:首页 > 编程语言 > ASP

高级查询--asp.net(C#)

2008-09-05 16:55 549 查看
为了更好的去重用高级查询控件,将此控件做成用户控件。利用VS2005新建一个用控件扩展名为.ascx的文件,参考下图: <br />

<table border="1" bordercolor="#ffffff" cellpadding="0" cellspacing="1" width="100%">

<tr>

<td style="height: 15px">

筛选内容:</td>

<td style="height: 15px">

<asp:DropDownList ID="ddlContent" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlContent_SelectedIndexChanged">

</asp:DropDownList></td>

<td style="height: 15px">

筛选条件:</td>

<td style="height: 15px">

<asp:DropDownList ID="ddlCondition" runat="server">

</asp:DropDownList></td>

<td style="height: 15px">

筛选范围:</td>

<td style="height: 15px">

 <asp:DropDownList ID="ddlArea" runat="server">

</asp:DropDownList>

<asp:TextBox ID="txtArea" runat="server"></asp:TextBox>

<asp:Label ID="lblFilter" runat="server" Visible="False"></asp:Label>

</td>

<td style="height: 15px">

<asp:Button ID="btnSel" runat="server" OnClick="btnSel_Click" Text="筛选" />

<asp:Button ID="btnCancel" runat="server" OnClick="btnCancel_Click"

Text="取消" /></td>

</tr>

</table>

<br />

以下是本页面对应的后台代码,主要是事件,属性,方法

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;

public partial class Public_AdvanceQuery : System.Web.UI.UserControl

另外,本用户控件还需要调用后台的类库,进行一些业务逻辑上的处理代码如下:

using System;

using System.Collections.Generic;

using System.Text;

using System.Web.UI.WebControls;

using System.Data;

using System.Data.SqlClient;

namespace WebClass

在本类库需要调用最基层的DBClass,是对数据库的最基村的操作,主要是进行读取数据,获取数据集的操作,在这里,不做详细书写。

经过编译成功后,新建网页,将此用户控件拖动到需要进行的页面。进行以下的编码,主要是设置GridView控件的ID,数据源注意使DataView,在这里可以将DataSet转换成DataView,可以在页面上一个按钮,高级查询,单击后,加载用户控件如下图所示:

public WebClass.Customer myCustomer = new WebClass.Customer();

protected void Page_Load(object sender, EventArgs e)

... ...

protected void btnAdvSel_Click(object sender, EventArgs e)

DROP TABLE Advance_Query;

CREATE TABLE Advance_Query

(

Tbl VARCHAR2(30) NOT NULL, --表名称 PK

Form VARCHAR2(30) NOT NULL, --所属窗体名称 pk

Field VARCHAR2(30) NOT NULL, --字段名称 pk

By_Name VARCHAR2(30) NOT NULL, --字段别名

Type VARCHAR2(1) NOT NULL, --字段类型名称

Flag VARCHAR2(1) NOT NULL, --标示 0:利用下拉框 1:用文本框

AreaSQL VARCHAR2(150), --当前值对应的查询语句 适合于:flag=0时使用

CONSTRAINT PK_Text PRIMARY KEY(Tbl,Form,Field)

);

这样,运行的你的页面,就可以做到高级查询。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: