1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Filtering for Null Values pptx

3 337 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Filtering for null values
Tác giả Team LiB
Thể loại Recipe
Định dạng
Số trang 3
Dung lượng 12,83 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

[ Team LiB ]Recipe 3.12 Filtering for Null Values Problem You want to filter a DataView for rows that have null values.. The sample code contains two event handlers: Form.Load Sets up

Trang 1

[ Team LiB ]

Recipe 3.12 Filtering for Null Values

Problem

You want to filter a DataView for rows that have null values

Solutions

Use the IS NULL clause with the RowFilters property of the DataView

The sample code contains two event handlers:

Form.Load

Sets up the sample by creating a DataTable containing the Orders table from the Northwind sample database The default view of the table is bound to the data grid

on the form

Filter Button.Click

Toggles on and off the filter on the data view that selects only rows with a null ShipRegion

The C# code is shown in Example 3-12

Example 3-12 File: FilterNullValuesForm.cs

// Namespaces, variables, and constants

using System;

using System.Configuration;

using System.Data;

using System.Data.SqlClient;

// Table name constants

private const String ORDERS_TABLE = "Orders";

// Field name constants

private const String SHIPREGION_FIELD = "ShipRegion";

//

private void FilterNullValuesForm_Load(object sender, System.EventArgs e)

Trang 2

{

// Create and fill the Orders table

DataTable dt = new DataTable(ORDERS_TABLE);

SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Orders",

ConfigurationSettings.AppSettings["Sql_ConnectString"]);

da.Fill(dt);

// Bind the default view to the grid

dataGrid.DataSource = dt.DefaultView;

}

private void filterButton_Click(object sender, System.EventArgs e)

{

String filter = SHIPREGION_FIELD + " IS NULL";

DataView dv = (DataView)dataGrid.DataSource;

if(filterButton.Text == "Apply Filter")

{

// Apply the filter

dv.RowFilter = filter;

dataGrid.CaptionText =

"Orders table: filtered for null ShipRegion field.";

filterButton.Text = "Remove Filter";

}

else

{

// Remove the filter

dv.RowFilter = "";

dataGrid.CaptionText = "Orders table: no filter.";

filterButton.Text = "Apply Filter";

}

}

Discussion

Every DataTable has a default DataView associated with it that can filter a table for records meeting specific criteria In the solution, the RowFilter property of the

DefaultView is filtered for rows containing a null ShipRegion field The result of

applying the filter is immediately reflected in any controls bound to the DataView object

in addition to the any operations performed on the records within the DataView

Trang 3

Alternatively, you can use the Select( ) method on the DataTable underlying the DataView to retrieve an array of DataRow objects containing only rows with the null ShipRegion using the same filter expression

[ Team LiB ]

Ngày đăng: 14/12/2013, 18:16

TỪ KHÓA LIÊN QUAN

w