using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Ex07
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
///정렬 버튼
private void button1_Click(object sender, EventArgs e)
{
// 10/19
//DataTable table =
// dataGridView1.DataSource as DataTable;
//table.Sort = "";//오류
DataView view =
dataGridView1.DataSource as DataView;
if (string.IsNullOrEmpty(view.Sort) ||
view.Sort.ToLower().IndexOf("desc") > -1)
{
view.Sort =
"contactname ASC";//ORDER BY구문과 동일한 형식
}
else
{
view.Sort =
"contactname DESC";//ORDER BY구문과 동일한 형식
}
}
//필터링 버튼
private void button2_Click(object sender, EventArgs e)
{
DataView view = dataGridView1.DataSource as DataView;
//A - Z 중 하나를 추출
char ch = (char)(new Random().Next(65, 91));
//WHERE 와 동일한 구문
view.RowFilter = string.Format("contactname LIKE '{0}%'", ch);
MessageBox.Show("Filtered by " + ch);
}
private void Form1_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "SERVER=.;DATABASE=Northwind;INTEGRATED SECURITY=SSPI;";
//2. 명령 객체 생성 및 [SQL, 연결객체] 설정
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "SELECT customerid, companyname, contactname, contacttitle, country, phone, fax FROM customers ";
//데이터 처리 어댑처 사용
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
// Open - > read &set -> Close 를 해준다.
//이미 열려있으면 Open 및 Close 생략 해준다.
da.Fill(ds, "Customers"); //DataSEt에 Customers 테이블 만들고 그 테이블에 데이터를 저장
// 10/19
//테이블은 sort, 필더링 기능은 없다 View는 sort, 필더링 기능이 있다.
// View로 주었기 떄문에 sort 와 바인딩 가능
dataGridView1.DataSource = ds.Tables[0].DefaultView; //View Binding
///////////
//DataSource는 Table 이지만
//내부적으로 Binding 할 떄는 View 에 Binding
dataGridView2.DataSource = ds.Tables[0];
}
}
}
'프로그램 > C# - Study' 카테고리의 다른 글
C# - EX09 (0) | 2010.10.20 |
---|---|
C# - EX08 (0) | 2010.10.20 |
C# - EX06 - DataGridView (테이터 집합) 간단하게 DB 자료 가져오기 (0) | 2010.10.18 |
C# - EX05 SHOWDATA, UPDATA 추가 (0) | 2010.10.18 |
C# - EX04 SqlTransaction, TransactionScope 활용 (0) | 2010.10.18 |