본문 바로가기

C#

DataGridView 컨트롤의 수정모드제어

반응형

 그리드 컨트롤 수정모드   | WinForm Program2017-12-05 오후 5:05:36

쇼니번호: 175929  추천:0  / 읽음:78


 저는 gridview.OptionsBehavior.Editable = true 를 이용해서
수정할 수 있게 했는데요
이렇게 하니까 수정하고 싶지 않은행까지 수정모드로 들어가서 수정이 되더라구요

순번이 없는 행은 수정을 못하게 하고 싶은 데
어떤 속성을 줘야하는 지 모르겠습니다.
도와주세요 ㅠㅠㅠ 제발



위의 질문에 대한 답변입니다.

그리드 컨트롤을 사용하다보면, 특정 컬럼의 부분만 조건에 대해서 편집을 가능하도록 하는 기능을 필요로 하는 경우가 있습니다


그림과같이 만들어 보았습니다.

단순하게 그냥 컨트롤을 배치해두기만 했습니다.


이후에 코드제어는 아래와 같습니다.

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
        }

        //CellBeginEdit이벤트 핸들러
        private void DataGridView1_CellBeginEdit(object sender,
            DataGridViewCellCancelEventArgs e)
        {
            DataGridView dgv = (DataGridView)sender;
            //편집되는지 판단
            if (dgv.Columns[e.ColumnIndex].Name == "Column2" && dgv["Column2", e.RowIndex].Value == null)
            {

            }
            else
            {
                // 조건 이외에는 편집이 되지 않도록 제어
                e.Cancel = true;
            }
        }
    }
}
 

풀소스는 압축해서 아래에 올려두겠습니다.

패스워드 : 20171211

WindowsFormsApplication1.zip



반응형