program.cs
지우고
Form1.cs 아래 먼 디자이너 지우고....
결국 솔루션 탐색기에는
WindowsFormsApplication1
- Properties
- 참조
Form1.cs
만 남는다.
Form1.cs에 코드 보기를 해서
아래 코드를 붙여놓고 실행하면 된다.
근데 걍 로컬에 테이블 만들고 데이터 넣는거잖아. 이게 ADO.NET 소스인걸까.
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace WindowsFormsApplication1
{
public class Form1 : System.Windows.Forms.Form
{
DataTable tbl = null; // 테이블
private System.Windows.Forms.DataGrid dataGrid_Table;
private System.Windows.Forms.DataGrid dataGrid_View1;
private System.Windows.Forms.DataGrid dataGrid_View2;
private System.Windows.Forms.Label lbl_Table;
private System.Windows.Forms.Label lbl_View1;
private System.Windows.Forms.Label lbl_View2;
private System.Windows.Forms.Button btn_EXE;
///
/// 필수 디자이너 변수입니다.
///
private System.ComponentModel.Container components = null;
public Form1()
{
InitializeComponent();
}
///
/// 사용 중인 모든 리소스를 정리합니다.
///
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
#region Windows Form 디자이너에서 생성한 코드
///
/// 디자이너 지원에 필요한 메서드입니다.
/// 이 메서드의 내용을 코드 편집기로 수정하지 마십시오.
///
private void InitializeComponent()
{
this.dataGrid_Table = new System.Windows.Forms.DataGrid();
this.dataGrid_View1 = new System.Windows.Forms.DataGrid();
this.dataGrid_View2 = new System.Windows.Forms.DataGrid();
this.btn_EXE = new System.Windows.Forms.Button();
this.lbl_Table = new System.Windows.Forms.Label();
this.lbl_View1 = new System.Windows.Forms.Label();
this.lbl_View2 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.dataGrid_Table)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dataGrid_View1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dataGrid_View2)).BeginInit();
this.SuspendLayout();
//
// dataGrid_Table
//
this.dataGrid_Table.DataMember = "";
this.dataGrid_Table.HeaderForeColor = System.Drawing.SystemColors.ControlText;
this.dataGrid_Table.Location = new System.Drawing.Point(96, 16);
this.dataGrid_Table.Name = "dataGrid_Table";
this.dataGrid_Table.Size = new System.Drawing.Size(304, 96);
this.dataGrid_Table.TabIndex = 1;
//
// dataGrid_View1
//
this.dataGrid_View1.DataMember = "";
this.dataGrid_View1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
this.dataGrid_View1.Location = new System.Drawing.Point(96, 120);
this.dataGrid_View1.Name = "dataGrid_View1";
this.dataGrid_View1.Size = new System.Drawing.Size(304, 96);
this.dataGrid_View1.TabIndex = 2;
//
// dataGrid_View2
//
this.dataGrid_View2.DataMember = "";
this.dataGrid_View2.HeaderForeColor = System.Drawing.SystemColors.ControlText;
this.dataGrid_View2.Location = new System.Drawing.Point(96, 224);
this.dataGrid_View2.Name = "dataGrid_View2";
this.dataGrid_View2.Size = new System.Drawing.Size(304, 96);
this.dataGrid_View2.TabIndex = 3;
//
// btn_EXE
//
this.btn_EXE.Location = new System.Drawing.Point(8, 64);
this.btn_EXE.Name = "btn_EXE";
this.btn_EXE.Size = new System.Drawing.Size(75, 48);
this.btn_EXE.TabIndex = 4;
this.btn_EXE.Text = "실행";
this.btn_EXE.Click += new System.EventHandler(this.btn_EXE_Click);
//
// lbl_Table
//
this.lbl_Table.Location = new System.Drawing.Point(16, 24);
this.lbl_Table.Name = "lbl_Table";
this.lbl_Table.Size = new System.Drawing.Size(64, 32);
this.lbl_Table.TabIndex = 5;
this.lbl_Table.Text = "DataTable 정보";
//
// lbl_View1
//
this.lbl_View1.Location = new System.Drawing.Point(16, 128);
this.lbl_View1.Name = "lbl_View1";
this.lbl_View1.Size = new System.Drawing.Size(64, 32);
this.lbl_View1.TabIndex = 6;
this.lbl_View1.Text = "첫번째 View";
//
// lbl_View2
//
this.lbl_View2.Location = new System.Drawing.Point(16, 232);
this.lbl_View2.Name = "lbl_View2";
this.lbl_View2.Size = new System.Drawing.Size(64, 32);
this.lbl_View2.TabIndex = 7;
this.lbl_View2.Text = "두번째 View";
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(408, 342);
this.Controls.Add(this.lbl_View2);
this.Controls.Add(this.lbl_View1);
this.Controls.Add(this.lbl_Table);
this.Controls.Add(this.btn_EXE);
this.Controls.Add(this.dataGrid_View2);
this.Controls.Add(this.dataGrid_View1);
this.Controls.Add(this.dataGrid_Table);
this.Name = "Form1";
this.Text = "DataView 예제";
((System.ComponentModel.ISupportInitialize)(this.dataGrid_Table)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataGrid_View1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataGrid_View2)).EndInit();
this.ResumeLayout(false);
}
#endregion
///
/// 해당 응용 프로그램의 주 진입점입니다.
///
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void MakeTable()
{
tbl = new DataTable("grade"); // greade 테이블 생성
DataColumn column; // 컬럼 인스턴스 생성
// 이름 칼럼 만들기
column = new DataColumn();
column.DataType = Type.GetType("System.String"); // 데이터형 지정
column.ColumnName = "Name"; // 칼럼 이름 설정
column.AllowDBNull = false; // 널 값 허용 안함
tbl.Columns.Add(column); // 테이블에 칼럼 추가
// 국어 칼럼 만들기
column = new DataColumn();
column.DataType = Type.GetType("System.Int32"); // 데이터형
column.ColumnName = "Kor"; // 칼람 이름
column.AllowDBNull = false; // 널값 허용 안함
tbl.Columns.Add(column); // 테이블에 칼럼 추가
// 영어 칼럼 만들기
column = new DataColumn();
column.DataType = Type.GetType("System.Int32"); // 데이터형
column.ColumnName = "Eng"; // 칼럼 이름
column.AllowDBNull = false; // 널값 허용 안함
tbl.Columns.Add(column); // 테이블에 칼럼 추가
// 수학 칼럼 만들기
column = new DataColumn();
column.DataType = Type.GetType("System.Int32"); // 데이터형
column.ColumnName = "Math"; // 칼럼 이름
column.AllowDBNull = false; // 널값 허용 안함
tbl.Columns.Add(column); // 테이블에 칼럼 추가
// 평균 칼럼 만들기
column = new DataColumn();
column.DataType = Type.GetType("System.Double"); // 데이터형
column.ColumnName = "Avg"; // 칼럼 이름
column.AllowDBNull = false; // 널값 허용 안함
tbl.Columns.Add(column); // 테이블에 칼럼 추가
}
private void InsertData()
{
// 새로운 레코드 추가하기
DataRow row;
row = tbl.NewRow();
row["Name"] = "홍길동";
row["Kor"] = 65;
row["Eng"] = 50;
row["Math"] = 30;
row["Avg"] = (65 + 50 + 30) / 3.0;
tbl.Rows.Add(row);
row = tbl.NewRow();
row["Name"] = "김동현";
row["Kor"] = 90;
row["Eng"] = 75;
row["Math"] = 60;
row["Avg"] = (90 + 75 + 60) / 3.0;
tbl.Rows.Add(row);
row = tbl.NewRow();
row["Name"] = "오종석";
row["Kor"] = 80;
row["Eng"] = 95;
row["Math"] = 70;
row["Avg"] = (80 + 90 + 70) / 3.0;
tbl.Rows.Add(row);
row = tbl.NewRow();
row["Name"] = "최영란";
row["Kor"] = 100;
row["Eng"] = 100;
row["Math"] = 100;
row["Avg"] = (100 + 100 + 100) / 3.0;
tbl.Rows.Add(row);
row = tbl.NewRow();
row["Name"] = "박진수";
row["Kor"] = 70;
row["Eng"] = 90;
row["Math"] = 60;
row["Avg"] = (70 + 90 + 60) / 3.0;
tbl.Rows.Add(row);
}
private void btn_EXE_Click(object sender, System.EventArgs e)
{
this.MakeTable();
this.InsertData();
DataView view1 = new DataView(this.tbl);
DataView view2 = new DataView(this.tbl);
view1.RowFilter = "Kor >= 80";
view2.RowFilter = "Avg >= 75 And Eng >= 80";
this.dataGrid_Table.DataSource = this.tbl;
this.dataGrid_View1.DataSource = view1;
this.dataGrid_View2.DataSource = view2;
}
}
}
댓글 없음:
댓글 쓰기
국정원의 댓글 공작을 지탄합니다.