<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="DataViewTester" %>
Using a DataView
File: Default.aspx.cs
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 DataViewTester : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
grdCustomer.Visible = false;
}
protected void btnViewData_Click(object sender, EventArgs e)
{
DataTable table = MakeData();
DataView view = new DataView(table);
view.Sort = drpSort.SelectedValue + " ASC";
if (txtFilter.Text.Length > 0)
view.RowFilter = "LastName Like '" + txtFilter.Text + "'";
grdCustomer.Visible = true;
grdCustomer.DataSource = view;
grdCustomer.DataBind();
}
private DataTable MakeData()
{
DataTable table = new DataTable();
DataColumn idCol = new DataColumn();
idCol.ColumnName = "Id";
idCol.DataType = typeof(Int32);
idCol.AllowDBNull = false;
idCol.Unique = true;
idCol.AutoIncrement = true;
DataColumn firstNameCol = new DataColumn("FirstName", typeof(string));
DataColumn lastNameCol = new DataColumn("LastName", typeof(string));
DataColumn phoneCol = new DataColumn("Phone", typeof(string));
table.Columns.Add(idCol);
table.Columns.Add(firstNameCol);
table.Columns.Add(lastNameCol);
table.Columns.Add(phoneCol);
DataRow r1 = table.NewRow();
r1[1] = "A";
r1[2] = "a";
r1[3] = "123-4567";
table.Rows.Add(r1);
DataRow r2 = table.NewRow();
r2["FirstName"] = "B";
r2["LastName"] = "b";
r2["Phone"] = "564-7823";
table.Rows.Add(r2);
DataRow r3 = table.NewRow();
r3["FirstName"] = "C";
r3["LastName"] = "c";
r3["Phone"] = "253-6383";
table.Rows.Add(r3);
DataRow r4 = table.NewRow();
r4["FirstName"] = "D";
r4["LastName"] = "d";
r4["Phone"] = "456-1267";
table.Rows.Add(r4);
return table;
}
}