22. DataView..::.RowFilter 속성
.NET프로그래밍/ADO.NET 2009. 9. 28. 15:53 |RowFilter : 데이터 검색시 사용하는 속성 : "CategoryName Like '%컴퓨터%'"
- Connection -> Command -> DataAdapter -> DataSet -> DataTable -> DataView ->
DataView.RowFilter 속성
-------------------------------------------------------------------------------------
==> [FrmRowFilter.aspx] 소스 및 디자인
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FrmRowFilter.aspx.cs" Inherits="FrmRowFilter" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
카테고리명 :
<asp:TextBox ID="txtSearchQuery" runat="server"></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" Text="검색" onclick="btnSearch_Click" />
<br />
<asp:GridView ID="ctlSearchList" runat="server">
</asp:GridView>
</div>
</form>
</body>
</html>
-------------------------------------------------------------------------------------
==> [FrmRowFilter.aspx.cs]
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public partial class FrmRowFilter : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSearch_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("Select * From Categories", con);
cmd.CommandType = CommandType.Text;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds, "Categories");
//[1] DataTable로 변환
DataTable dt = ds.Tables[0];
//[2] Dataview로 변환
DataView dv = dt.DefaultView;
//[3] DataView.RowFilter로 필터링
dv.RowFilter = "CategoryName Like '%" + txtSearchQuery.Text + "%'";
dv.Sort = "CategoryName Asc"; // 정렬
this.ctlSearchList.DataSource = dv; // 필터링된 리스트만 출력됨.
this.ctlSearchList.DataBind();
con.Close();
}
}
// DataView..::.RowFilter 속성 - DataView에 표시할 행을 필터링하는 데 사용하는 식을 가져오거나 설정합니다.
-------------------------------------------------------------------------------------
[실행결과]
--> 웹페이지에서 '텍스트박스'에 [SQL Server] - [Market]데이터베이스 - [dbo.Categories]테이블에 존재하는 "CategoryName"의 '전체' 또는 '일부'를 입력한 후 "검색"버튼을 누르면...
--> 아래그림과 같이 텍스트박스에 입력한 단어가 포함된 "CategoryName"이 "GridView"에 출력되는 것을 볼 수 있다.
--> 텍스트박스에 아무것도 입력하지 않고 '검색'버튼을 누르면 아래그림과 같이 [SQL Server] - [Market]데이터베이스 - [dbo.Categories]테이블에 존재하는 모든 데이터가 "CategoryName"의 오름차순으로 정렬되어 웹페이지의 "GridView"에 출력된다.
'.NET프로그래밍 > ADO.NET' 카테고리의 다른 글
23. SqlParameter 클래스 (0) | 2009.09.29 |
---|---|
파일처리 기반으로 만든 주소록 프로그램을 DB처리 기반으로 바꾸기. (0) | 2009.09.29 |
21. DataRow 클래스 (0) | 2009.09.28 |
20. DataView 클래스 (0) | 2009.09.28 |
19. DataTable 클래스 (0) | 2009.09.28 |