[CSharp] datagirdivew 설정

C#으로 개발을 하다 보면은 datagridview를 사용할 일이 너무 많아서 한번 기록을 해두기 위해서 글을 작성합니다.

System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
                dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
                dataGridViewCellStyle1.Font = new System.Drawing.Font("맑은 고딕", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(165)));
                dataGridViewCellStyle1.Padding = new System.Windows.Forms.Padding(0, 5, 0, 5);
                dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;   //줄바꿈

                this.dataGridViewFileList.Columns.Clear();
                this.dataGridViewFileList.Rows.Clear();
                this.dataGridViewFileList.Refresh();
                this.dataGridViewFileList.BorderStyle = BorderStyle.None;
                this.dataGridViewFileList.RowHeadersBorderStyle = DataGridViewHeaderBorderStyle.None;
                this.dataGridViewFileList.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.None;
                this.dataGridViewFileList.CellBorderStyle = DataGridViewCellBorderStyle.SingleHorizontal;
                this.dataGridViewFileList.BackgroundColor = Color.White;
                this.dataGridViewFileList.DefaultCellStyle.SelectionBackColor = Color.FromArgb(0, 161, 218);//선택시
                this.dataGridViewFileList.DefaultCellStyle.SelectionForeColor = Color.White;   //선택시
                this.dataGridViewFileList.AlternatingRowsDefaultCellStyle.BackColor = Color.AliceBlue;//Color.FromArgb(236, 240, 241);
                this.dataGridViewFileList.ColumnHeadersDefaultCellStyle.BackColor = Color.FromArgb(228, 170, 102);
                this.dataGridViewFileList.ColumnHeadersDefaultCellStyle.ForeColor = Color.White;
                this.dataGridViewFileList.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                this.dataGridViewFileList.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
                this.dataGridViewFileList.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None;
                this.dataGridViewFileList.DefaultCellStyle.WrapMode = DataGridViewTriState.True; //줄바꿈
                this.dataGridViewFileList.Font = new System.Drawing.Font("맑은 고딕", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(165)));
                this.dataGridViewFileList.Visible = true;
                this.dataGridViewFileList.ReadOnly = true;
                this.dataGridViewFileList.MultiSelect = false;
                this.dataGridViewFileList.AutoGenerateColumns = false;
                this.dataGridViewFileList.RowHeadersVisible = false;
                this.dataGridViewFileList.ShowCellErrors = false;
                this.dataGridViewFileList.ShowCellToolTips = false;
                this.dataGridViewFileList.ShowEditingIcon = false;
                this.dataGridViewFileList.ShowRowErrors = false;
                this.dataGridViewFileList.Dock = System.Windows.Forms.DockStyle.Fill;
                this.dataGridViewFileList.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
                //
                this.dataGridViewFileList.Columns.Add(new DataGridViewTextBoxColumn()
                {
                    HeaderText = "idx",
                    ReadOnly = true,
                    Visible = false,
                    AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill,
                    FillWeight = 5
                });

datagridview를 만들기 전에 설정을 Tool에서 해주는것도 귀찮고 해서 그냥 소스상에서 제어를 하는편이 편하다는 생각에 만들어 본것입니다.

전체 설정을 하고 그에 맞춰서 조절을 하면은 편한것이라서 Tool의 UI상에서 하는것도 좋지만 매번 달라지는 구조를 맞추는것도 상당히 힘들고, 새롭게 프로젝트를 만들때마다 만다는것도 여간 귀찮은 일이 아닙니다.

                // 정렬
                this.dataGridViewFileList.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
                // 여백
                this.dataGridViewFileList.Columns[0].DefaultCellStyle.Padding = new Padding(0, 5, 0, 5);
                // 사이즈 Auto
                this.dataGridViewFileList.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
                this.dataGridViewFileList.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
                // 정렬
                this.dataGridViewFileList.Sort(
                    this.dataGridViewFileList.Columns[5], System.ComponentModel.ListSortDirection.Descending
                    );
                this.dataGridViewFileList.Columns[5].HeaderCell.SortGlyphDirection = SortOrder.Descending;
                // 선택 해제
                this.dataGridViewFileList.ClearSelection();

위에 소스까지 적용을 하면은 이제 실제 Data를 삽입하는 과정만 거치면은 쉽게 쉽게 맞출스 있으니 Class를 만들어 놓고 사용하는것도 나쁘지 않다는 생각입니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다