sort-find-in-dataview.aspx

来自「东软内部材料(四)asp等相关的教学案例 」· ASPX 代码 · 共 110 行

ASPX
110
字号
<%@Page Language="C#" debug="true" %>

<%@Import Namespace="System.Data" %>
<%@Import Namespace="System.Data.OleDb" %>

<%@ Register TagPrefix="wrox" TagName="connect" Src="..\global\connect-strings.ascx" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<title>Sorting and Finding Records in a DataView</title>
<!-- #include file="..\global\style.inc" -->
</head>
<body bgcolor="#ffffff">
<span class="heading">Sorting and Finding Records in a DataView</span><hr />
<!--------------------------------------------------------------------------->

<%-- insert connection string script --%>
<wrox:connect id="ctlConnectStrings" runat="server"/>

<div>Connection string: <b><span id="outConnect" runat="server"></span></b></div>
<div>SELECT command: <b><span id="outSelect" runat="server"></span></b></div>
<div id="outError" runat="server"></div><br />

<div id="outMessage" runat="server"></div>

<form runat="server">
Sort records: <input type="submit" id="cmdTitle" value="By Title" runat="server" /> &nbsp;
<input type="submit" id="cmdISBN" value="By ISBN" runat="server" /> &nbsp;
<input type="submit" id="cmdDate" value="By Date" runat="server" /><p />
Search within titles: <input type="text" id="txtFind" size="20" runat="server" />
<input type="submit" id="cmdFind" value="Find" runat="server" />
</form>

<asp:datagrid id="dgrResult" runat="server" /><br />

<script language="C#" runat="server">

	void Page_Load(Object sender, EventArgs e)
	{
		// get connection string from ..\global\connect-strings.ascx user control
		string strConnect = ctlConnectStrings.OLEDBConnectionString;
		outConnect.InnerText = strConnect; // and display it

		// specify the SELECT statement to extract the data
		string strSelect = "SELECT * FROM BookList WHERE ISBN LIKE '1861003%'";
		outSelect.InnerText = strSelect;   // and display it

		// create a new DataSet object
		// note that we have to create it outside the try..Catch block
		// as this is a separate block and so is a different scope
		DataSet objDataSet = new DataSet();

		try
		{
			// create a new Connection object using the connection string
			OleDbConnection objConnect = new OleDbConnection(strConnect);

			// create a new DataAdapter using the connection object and select statement
			OleDbDataAdapter objDataAdapter = new OleDbDataAdapter(strSelect, objConnect);

			// fill the dataset with data from the DataAdapter object
			objDataAdapter.Fill(objDataSet, "Books");
		}
		catch (Exception objError)
		{
			// display error details
			outError.InnerHtml = "<b>* Error while accessing data</b>.<br />"
						+ objError.Message + "<br />" + objError.Source;
			return;  //  and stop execution
		}

		// create a DataView object for the Books table in the DataSet
		DataView objDataView = new DataView(objDataSet.Tables["Books"]);

		// sort the records into the correct order
		if (Request.Form["cmdTitle"] != null && Request.Form["cmdTitle"].Length > 0)
		{
			objDataView.Sort = "Title";
			outMessage.InnerHtml = "DataView.Sort = <b>" + objDataView.Sort + "</b>";
		}
		if (Request.Form["cmdISBN"] != null && Request.Form["cmdISBN"].Length > 0)
		{
			objDataView.Sort = "ISBN";
			outMessage.InnerHtml = "DataView.Sort = <b>" + objDataView.Sort + "</b>";
		}
		if (Request.Form["cmdDate"] != null && Request.Form["cmdDate"].Length > 0)
		{
			objDataView.Sort = "PublicationDate DESC, Title";
			outMessage.InnerHtml = "DataView.Sort = <b>" + objDataView.Sort + "</b>";
		}

		// or find matching records
		if (Request.Form["cmdFind"] != null && Request.Form["cmdFind"].Length > 0)
		{
			objDataView.RowFilter = "Title LIKE '*" + txtFind.Value + "*'";
			outMessage.InnerHtml = "DataView.RowFilter = <b>" + objDataView.RowFilter + "</b>";
		}

		// assign the DataView object to the DataGrid control
		dgrResult.DataSource = objDataView;
		dgrResult.DataBind();  // and bind (display) the data

	}
</script>

<!--------------------------------------------------------------------------->
<!-- #include file="..\global\foot.inc" -->
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?