[C# DevExpress] DevExpress(데브익스프레스) GridControl에서 Row(행) 추가, 삭제 하기


안녕하세요.

 

오늘은 C# DevExpress에서 GridControl을 다뤄보려고 합니다.

 

그 중에서도, Row()을 추가, 삭제 하는 방법에 대해서 설명해 드리겠습니다.

 

먼저, 윈폼 프로젝트를 생성해 주시고 아래와 같이 컨트롤을 배치해 주시기 바랍니다.



윈폼 프로젝트 생성 및 컨트롤 배치



위와 같이 GridControlSimpleButton 컨트롤 2개를 배치해 주시기 바랍니다.

 

그럼 이제, Add 버튼을 클릭하면 Row가 생성되고, Delete 버튼을 클릭하면 Row가 삭제 되도록 예제 코드를 구현해 보도록 하겠습니다.


예제 코드


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

using DevExpress.XtraGrid.Views.Grid;

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 DevTest

{

    public partial class Form1 : DevExpress.XtraEditors.XtraForm

    {

        public Form1()

        {

            InitializeComponent();

 

            // Shown 이벤트 선언

            this.Shown += DevForm_Shown;

 

            this.uiBtn_Add.Click += UiBtn_Add_Click;

            this.uiBtn_Delete.Click += UiBtn_Delete_Click;

        }

 

        /// <summary>

        /// 폼이 보여질 일어나는 이벤트 핸들러

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        public void DevForm_Shown(object sender, EventArgs e)

        {

            //GridControl 초기화

            InitGridControl();

 

            //DataTable 데이터 저장  바인딩

            this.uiGrid_Main.DataSource = GetData();

        }

 

        /// <summary>

        /// GridView 초기화

        /// </summary>

        public void InitGridControl()

        {

            GridView gv = this.uiGrid_Main.MainView as GridView;

            gv.OptionsView.ShowGroupPanel = false;

            gv.OptionsBehavior.Editable = false;

        }

 

        public DataTable GetData()

        {

            DataTable dt = new DataTable();

            dt.Columns.Add("Name");

            dt.Columns.Add("Age");

            dt.Columns.Add("Grade");

            dt.Columns.Add("Score");

 

            dt.Rows.Add(new string[] { "범범조조""28""2""100" });

            dt.Rows.Add(new string[] { "황선홍""56""3""10" });

            dt.Rows.Add(new string[] { "안정환""34""2""78" });

            dt.Rows.Add(new string[] { "설기현""33""1""54" });

            dt.Rows.Add(new string[] { "아이유""28""1""45" });

            dt.Rows.Add(new string[] { "박지성""23""4""10" });

 

            return dt;

        }

 

        /// <summary>

        ///  추가 버튼 클릭 이벤트 핸들러

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        public void UiBtn_Add_Click(object sender, EventArgs e)

        {

            gridView1.AddNewRow();

        }

 

        /// <summary>

        ///  삭제 버튼 클릭 이벤트 핸들러

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        public void UiBtn_Delete_Click(object sender, EventArgs e)

        {

            gridView1.DeleteRow(gridView1.FocusedRowHandle);

        }

    }

}

 

Colored by Color Scripter

cs


실행 결과



위와 같이 Add버튼 클릭 했을 경우, Row가 한 줄씩 생성이 되고, Delete 버튼을 클릭했을 경우 현재 선택된 포커스에 맞게 그 해당 Row가 삭제 되는 것을 확인하실 수 있습니다.

 

감사합니다.^^


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY