using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace MakeTable
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void tblPeople_Click(object sender, EventArgs e)
{
DataTable tblPeople = MakePeopleTable();
dataGridView1.DataSource = tblPeople;
}
//DataTable클래스의 생성자를 호출하여 빈 테이블 객체를 생성
//인수로 테이블 이름만 전달
private DataTable MakePeopleTable()
{
DataTable tblPeople = new DataTable("tblPeople");
DataColumn col;
DataRow row;
//열등록
col = new DataColumn("Name", typeof(String));
col.MaxLength = 10;
col.AllowDBNull = false; //중복값
col.Unique = true;
tblPeople.Columns.Add(col);
tblPeople.PrimaryKey = new DataColumn[] { col };
col = new DataColumn("Age", typeof(Int32));
col.AllowDBNull = false;
tblPeople.Columns.Add(col);
col = new DataColumn("Male", typeof(bool));
col.AllowDBNull = false;
tblPeople.Columns.Add(col);
//행삽입
row = tblPeople.NewRow();
row["Name"] = "정우성";
row["Age"] = 36;
row["Male"] = true;
tblPeople.Rows.Add(row);
row = tblPeople.NewRow();
row["Name"] = "고소영";
row["Age"] = 32;
row["Male"] = false;
tblPeople.Rows.Add(row);
row = tblPeople.NewRow();
row["Name"] = "배용준";
row["Age"] = 37;
row["Male"] = true;
tblPeople.Rows.Add(row);
row = tblPeople.NewRow();
row["Name"] = "김태희";
row["Age"] = 36;
row["Male"] = false;
tblPeople.Rows.Add(row);
tblPeople.AcceptChanges();
return tblPeople;
}
private void tblSale_Click(object sender, EventArgs e)
{
DataTable tblSale = MakeSaleTable();
dataGridView1.DataSource = tblSale;
}
private DataTable MakeSaleTable()
{
DataTable tblSale = new DataTable("tblSale");
DataColumn col;
DataRow row;
//열등록
col = new DataColumn("OrderNo", typeof(Int32));
col.AllowDBNull = false;
col.Unique = true;
col.AutoIncrement = true;
col.ReadOnly = true;
tblSale.Columns.Add(col);
tblSale.PrimaryKey = new DataColumn[] { col };
col = new DataColumn("Customer", typeof(String));
col.MaxLength = 10;
col.AllowDBNull = false;
tblSale.Columns.Add(col);
col = new DataColumn("Item", typeof(String));
col.MaxLength = 20;
col.AllowDBNull = false;
tblSale.Columns.Add(col);
col = new DataColumn("ODate", typeof(DateTime));
col.AllowDBNull = false;
tblSale.Columns.Add(col);
//행삽입
row = tblSale.NewRow();
row["Customer"] = "정우성";
row["Item"] = "면도기";
row["ODate"] = new DateTime(2008, 1, 1);
tblSale.Rows.Add(row);
row = tblSale.NewRow();
row["Customer"] = "고소영";
row["Item"] = "화장품";
row["ODate"] = new DateTime(2008, 1, 2);
tblSale.Rows.Add(row);
row = tblSale.NewRow();
row["Customer"] = "김태희";
row["Item"] = "핸드폰";
row["ODate"] = new DateTime(2008, 1, 3);
tblSale.Rows.Add(row);
row = tblSale.NewRow();
row["Customer"] = "김태희";
row["Item"] = "휘발류";
row["ODate"] = new DateTime(2008, 1, 4);
tblSale.Rows.Add(row);
tblSale.AcceptChanges();
return tblSale;
}
//연습
private void button1_Click(object sender, EventArgs e)
{
//1행 2열짜리 테이블 만들기 : 홍길동, 백두산
DataTable dt = new DataTable();
//에러 발생하므로 Factory메서드 사용
//DataRow dr = dt.NewRow();
DataRow dr = dt.NewRow();
//열 하나 만들기
DataColumn dc = new DataColumn
("Name",typeof(String)); //VarChar선언
dc.MaxLength = 25;
dc.AllowDBNull = false;
//테이블에 행을 추가
dt.Columns.Add(dc);
//행 하나 만들기
dr["Name"] = "홍길동";
dt.Rows.Add(dr);
this.dataGridView1.DataSource = dt; //데이터 테이블 바인딩
} |