[C#] 윈폼 ImportRow 메서드 사용방법


 

이번 포스팅에서는 C# 윈폼에서 ImportRow 메서드 사용 방법에 대해서 알아 보도록 하겠습니다.


 

DataGridView를 이용하거나, DataSet, DataTable 등을 많이 사용하면 비번하게 사용하게 될 메서드 입니다.


 

먼저, ImportRow 메서드는 DataRowDataTable에 복사하여 모든 속성 설정과 원본 및 현재 값을 유지해주는 메서드 입니다.


 

그럼 바로 사용하는 방법을 보여드리도록 하겠습니다.


우선 아래와 같이 빈 윈도우 폼을 생성해 주시고, 2개의 DataGridView 컨트롤을 배치하여 주시기 바랍니다.




그리고 아래와 같이 소스코드를 작성하여 주시기 바랍니다.

 

참고로 현재 Database와 연동된 상태이지만, 연동된 소스코드는 올리지 않고 ImportRow 메서드 사용방법 소스코드를 올리도록 하겠습니다.^^

 

[Program.cs]


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

7

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace Test

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

            this.Load += Main_Load;

        }

 

        private void Main_Load(object sender, EventArgs e)

        {

            try

            {

                Student_Data_View_Load();

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

            }

        }

 

        private static void ConnectToDB()

        {

 

            while (OracleDBManager.Instance.GetConnection() == false)

            {

                MessageBox.Show("Database Connected Fail...");

 

                return;

            }

 

            MessageBox.Show("Database Connected Success!!");

        }

 

        /// <summary>

        /// STUDENT 테이블에서 데이터 조회하여

        /// DataGridView 데이터 보여줌

        /// </summary>

        private void Student_Data_View_Load()

        {

            try

            {

                string query = @"SELECT * FROM STUDENT";

 

                DataSet ds = new System.Data.DataSet();

                OracleDBManager.Instance.ExecuteDsQuery(ds, query);

 

                DataTable dt = new DataTable();

                dt = ds.Tables[0].Clone(); //ds 저장되어 있는 Student 테이블 복사 저장

 

                DataRow Row = null;

 

                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)

                    return;

 

                for(int idx = 0; idx < ds.Tables[0].Rows.Count; idx++)

                {

                    Row = ds.Tables[0].Rows[idx];

                    dt.ImportRow(Row);

                }              

 

                //DataSet 저장되어 있는 데이터 불러오기

                dataGridView1.DataSource = ds.Tables[0];

 

                //ImportRow 메서드로 복사한 Table 보여주기

                dataGridView2.DataSource = dt; 

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

            }

        }       

    }

}

 

Colored by Color Scripter

cs

 

[실행 결과]




왼쪽은 Database에 있는 데이터를 쿼리문으로 조회하여 DataSet에 저장하여 불러온 값이고


오른쪽은 DataTable 객체를 생성하여 해당 DataSet 객체가 가지고 있는 Row들을 ImportRow 메서드를 활용하여 데이터를 저장한 결과인데 양쪽 데이터 모두 동일한 것을 확인하실 수 있습니다.


 

이렇게 ImportRow 메서드를 사용하시면 되겠습니다~~


 

부족하지만 읽어 주셔서 감사합니다.^^


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY