Visual studio c# 에서 DataSet Columns 에 대하여 툴에서 순서를 조절할 수 없을까요?

무아   
   조회 5720   추천 0    

 vs 로 c# 코딩을 하다보면 dataset 을 참 유용하게 사용합니다.

코딩으로 dataset을 생성하지 않고 그냥  form에 해당 컨트롤을 올려두고 속성창을 띄워서 입맛대로 구조를 잡고 쓰는데

tab 컨트롤이나 datagridview 컨트롤은 내부의 아이템을 생성 삭제, 그리고 순서를 변경해주는 것이 쉽게 지원됩니다.

반면 dataset 에는 그 버튼이 없어 참 아쉬운 점이 많은데 써드파티로라도 지원이 된다면 구매해서 쓰고싶을 정도 입니다.

혹시 dataset 에서 컬럼 아이템에 대하여 순서를 변경할 수 있는 방법이 있을까요?

(물론 해당 form의 designer.cs 파일을 한땀 한땀 수정해주면 되지만 그럴바에 새로 생성해서 새로 만드는게 더 나아서..)


TabControl 의 경우



DataGridView 의 경우



문제의 DataSet의 경우



...
짧은글 일수록 신중하게.
안되는것은 안되는것입니다.. 하하하
프로그램소스에서 로직으로 해결하세요.. 하하하
김상혁2 2018-04
데이터셋의경우 데이터베이스에 설계된 테이블스키마에 따라서 순서가 처리되기때문에, 수동적으로 변경을 해주셔야할거에요..

dataSet.Tables["테이블"].Columns["컬럼명"].SetOrdinal(인덱스)
김상혁2 2018-04
확장메서드를 통해서 네임스페이스에 정의하셔도됩니다.
사용예: dataSet.Tables["테이블"].SetColumnsOrder("컬럼1", "컬럼2");

    public static class DataTableExtensions
    {

        public static void SetColumnsOrder(this DataTable dtbl, params String[] columnNames)
        {

            List<string> listColNames = columnNames.ToList();

            foreach (string colName in columnNames)
            {
                if (!dtbl.Columns.Contains(colName))
                {
                    listColNames.Remove(colName);
                }
            }

            foreach (string colName in listColNames)
            {
                dtbl.Columns[colName].SetOrdinal(listColNames.IndexOf(colName));
            }
        }

    }
무아 2018-04
답변 감사합니다.
별도로 db 에 연결된 상태는 아니고. 무식하게 디자인 파일에서 한땀 한땀 수정하면 순서가 바뀝니다.
곰곰히 생각해보니 그 디자인파일을 열어서 원하는 작업만 할 수 있는 별도의 프로그램을 만들면 될 것 같습니다.
VS 쓰면서 필요할 경우 별도 프로그램으로 해당 디자인파일면 수정하는..
     
노가다의 산물입니다.. 하하하
          
무아 2018-04
OTL
          
무아 2018-04
만들어 놓고 보니 쓸만합니다.
노가다 끝..
http://www.2cpu.co.kr/PDS/12271


QnA
제목Page 3399/5707
2014-05   5136153   정은준1
2015-12   1670973   백메가
2008-02   5698   조재현
2011-10   5698   김건우
2008-11   5698   이관호
2005-08   5698   노정래
2009-02   5698   akfalles
2014-02   5698   hhhoppc
2007-04   5698   방효문
2011-08   5698   잔디
2008-01   5698   조재현
2013-05   5698   TeaRoom
2014-05   5698   마이러브
2020-02   5698   쿵짝쿵짝
2008-05   5698   김건우
2019-04   5698   사랑하라
2008-11   5698   김건우
2006-02   5698   오규택
2012-03   5698   김준유
2008-03   5698   문병채
2016-04   5698   NAS고장났다…
2007-10   5699   백인학