[C# FarPoint] C# FarPoint Spread Sheet 데이터 넣기
- C#/Windows Form
- 2020. 5. 7. 01:00
안녕하세요.
오늘부터 FarPoint Spread Sheet 사용법에 대해서 공부 및 기능 정리를 하려고 합니다.
그 첫 번째 시간으로써, DataTable 객체를 하나 만들고 해당 테이블의 데이터를 FarPoint Spread Sheet에 넣는 방법에 대해서 알려 드리도록 하겠습니다.
먼저, 빈 윈폼 프로젝트를 생성해 주시고 FarPoint Spread Sheet 컨트롤을 하나 배치해 주시기 바랍니다.
빈 윈폼 프로젝트 생성 및 Spread 컨트롤 배치
위와 같이 빈 윈폼 프로젝트에 FpSpread 컨트롤을 하나 배치해 주시기 바랍니다.
참고로 Dock = Fill 로 설정 하였습니다.
그럼 이제 제가 예시로 DataTable 객체 하나를 선언하여 해당 테이블의 정보를 Sheet에 넣어보도록 하겠습니다.
예제 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;
namespace Test { public partial class Form1 : Form { public DataTable dt = null; private List<string> ColumnList = new List<string>();
public enum COLUMNS { NAME, AGE, GRADE, PHONE_NUMBER }
public Form1() { InitializeComponent();
this.Load += TestForm_Load; }
/// <summary> /// Form Load 이벤트 핸들러 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void TestForm_Load(object sender, EventArgs e) { InitFrm(); }
/// <summary> /// 설정 메서드 /// </summary> public void InitFrm() { ColumnList = Enum.GetNames(typeof(COLUMNS)).ToList(); //컬럼명 설정
//테스트 데이터 설정 GetDataTable();
//Sheet 설정 SetSheet(); //Sheet에 데이터 넣기 Set_Data(); }
/// <summary> /// 테스트 데이터 넣기 /// </summary> public void GetDataTable() { dt = new DataTable(); //DataTable 객체 생성
dt.Columns.Add("NAME"); //컬럼 생성 dt.Columns.Add("AGE"); //컬럼 생성 dt.Columns.Add("GRADE"); //컬럼 생성 dt.Columns.Add("PHONE_NUMBER"); //컬럼 생성
dt.Rows.Add("범범조조", "28", "4", "111-2222-3444"); dt.Rows.Add("아이유", "28", "4", "112-2812-3444"); dt.Rows.Add("백예린", "24", "3", "113-5622-044"); dt.Rows.Add("태연", "31", "2", "114-2222-3404"); }
/// <summary> /// Sheet 설정 및 컬럼명 설정 /// </summary> private void SetSheet() { // Ctrl 로 다중 선택 fpSpread.ActiveSheet.SelectionPolicy = FarPoint.Win.Spread.Model.SelectionPolicy.MultiRange;
Sheet_Main.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Row; Sheet_Main.OperationMode = FarPoint.Win.Spread.OperationMode.ReadOnly;
// 다중 선택 시 Color 설정 Sheet_Main.SelectionStyle = FarPoint.Win.Spread.SelectionStyles.SelectionColors; Sheet_Main.SelectionBackColor = Color.FromArgb(255, 150, 150, 255);
Sheet_Main.ColumnHeader.Rows[0].Height = 30; Sheet_Main.Columns.Count = dt.Columns.Count;
for (int col = 0; col < Sheet_Main.Columns.Count; col++) { // 컬럼헤더명 string tmpColumnHeader = ColumnList[col];
Sheet_Main.ColumnHeader.Cells[0, col].Text = tmpColumnHeader.Replace("_", " "); Sheet_Main.Columns[col].Width = 150;
// 가운데 정렬 Sheet_Main.Columns[col].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; Sheet_Main.Columns[col].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; }
for (int row = 0; row < Sheet_Main.Rows.Count; ++row) Sheet_Main.Rows[row].BackColor = row % 2 == 1 ? Color.FromArgb(255, 208, 230, 252) : Sheet_Main.DefaultStyle.BackColor;
fpSpread.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded; fpSpread.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded; }
/// <summary> /// Sheet에 Row 데이터 넣기 /// </summary> public void Set_Data() { Sheet_Main.Columns.Count = dt.Columns.Count; // Sheet Columns 카운트 설정 Sheet_Main.Rows.Count = 0; //Sheet Row 카운트 설정
for (int row = 0; row < dt.Rows.Count; row++) { Sheet_Main.Rows.Count++;
for (int col = 0; col < Sheet_Main.Columns.Count; col++) { Sheet_Main.Cells[row, col].Value = dt.Rows[row][col].ToString(); } } } } }
|
실행 결과
위와 같이 테스트 데이터로 만든 DataTable 객체의 정보들이 알맞게 Sheet에 들어가서 출력된 것을 확인하실 수 있습니다.
이로써, 간단히 오늘은 Sheet에 데이터 넣는 방법에 대해서 알아 보았습니다.
다음 포스팅에서는 FarPoint Spread Sheet 컨트롤 Click 이벤트에 대해서 알려 드리도록 하겠습니다.
감사합니다.^^
'C# > Windows Form' 카테고리의 다른 글
[C# 윈폼] C# 마우스 좌,우 클릭 이벤트 발생시키기 (0) | 2020.06.02 |
---|---|
[C# FarPoint] C# FarPoint Spread Sheet 컨트롤 Cell Click 이벤트 선언하기(현재 Row 구하기) (0) | 2020.05.14 |
[C# 윈폼] Winform ListView(리스트뷰) 이미지 넣기 (0) | 2020.05.06 |
[C# 문법] C# 공유폴더(Network Drive) 접근하기 (0) | 2020.05.03 |
[C# 윈폼] C# ProgressBar(프로그레스바) 색상 변경하기 (2) | 2020.05.02 |
이 글을 공유하기