본문 바로가기
C#/DevExpress

DevExpress / Winform GridControl의 선택된 행을 또 다른 GridControl로 이동하기.

by HyunS_ 2019. 4. 7.

하나의 GridControl에 있는 데이터를 또 다른 GridControl로 마우스 드래그 앤 드랍으로 옮길 수 있습니다.

 

물론 옮겼던 데이터를 다시 원래 위치로 옮길 수 있습니다.

 

드래그 앤 드랍을 사용하려면 behaviorManager 컨트롤을 추가해주고

 

여기서 각각의 GridView에 Drag And Drop Behavior를 추가해줘야 합니다.

 

using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Views.Grid;
using System.Data;
using System.Windows.Forms;

namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();

            DataTable dataTable = CreateTable();
            SetUpGrid(gridControl1, dataTable);
            SetUpGrid(gridControl2, dataTable.Clone());
        }

        #region CreateTable
        /// <summary>
        /// 테이블을 생성합니다.
        /// </summary>
        /// <returns></returns>
        public DataTable CreateTable()
        {
            DataTable dataTable = new DataTable();
            dataTable.Columns.Add("Column");

            for (int i = 0; i <= 5; i++)
            {
                dataTable.Rows.Add(new object[] { "Item " + i.ToString()});
            }

            return dataTable;
        }

        #endregion

        #region SetUpGrid(gridControl, table)
        /// <summary>
        /// GridView를 설정합니다.
        /// </summary>
        /// <param name="gridControl">gridControl 입니다.</param>
        /// <param name="table">table 입니다.</param>
        public void SetUpGrid(GridControl gridControl, DataTable table)
        {
            GridView view = gridControl.MainView as GridView;
            gridControl.DataSource = table;
            view.OptionsBehavior.Editable = false;
        }

        #endregion
    }
}
728x90

댓글