Visual studio c# ¿¡¼ DataSet Columns ¿¡ ´ëÇÏ¿© Åø¿¡¼ ¼ø¼¸¦ Á¶ÀýÇÒ ¼ö ¾øÀ»±î¿ä?
vs 로 c# 코딩을 하다보면 dataset 을 참 유용하게 사용합니다.
코딩으로 dataset을 생성하지 않고 그냥 form에 해당 컨트롤을 올려두고 속성창을 띄워서 입맛대로 구조를 잡고 쓰는데
tab 컨트롤이나 datagridview 컨트롤은 내부의 아이템을 생성 삭제, 그리고 순서를 변경해주는 것이 쉽게 지원됩니다.
반면 dataset 에는 그 버튼이 없어 참 아쉬운 점이 많은데 써드파티로라도 지원이 된다면 구매해서 쓰고싶을 정도 입니다.
혹시 dataset 에서 컬럼 아이템에 대하여 순서를 변경할 수 있는 방법이 있을까요?
(물론 해당 form의 designer.cs 파일을 한땀 한땀 수정해주면 되지만 그럴바에 새로 생성해서 새로 만드는게 더 나아서..)
TabControl 의 경우
DataGridView 의 경우
문제의 DataSet의 경우
...
ÇÁ·Î±×·¥¼Ò½º¿¡¼ ·ÎÁ÷À¸·Î ÇØ°áÇϼ¼¿ä.. ÇÏÇÏÇÏ
dataSet.Tables["Å×À̺í"].Columns["Ä÷³¸í"].SetOrdinal(À妽º)
»ç¿ë¿¹: 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));
}
}
}
º°µµ·Î db ¿¡ ¿¬°áµÈ »óÅ´ ¾Æ´Ï°í. ¹«½ÄÇÏ°Ô µðÀÚÀÎ ÆÄÀÏ¿¡¼ ÇѶ¡ ÇѶ¡ ¼öÁ¤ÇÏ¸é ¼ø¼°¡ ¹Ù²ò´Ï´Ù.
°õ°õÈ÷ »ý°¢Çغ¸´Ï ±× µðÀÚÀÎÆÄÀÏÀ» ¿¾î¼ ¿øÇÏ´Â ÀÛ¾÷¸¸ ÇÒ ¼ö ÀÖ´Â º°µµÀÇ ÇÁ·Î±×·¥À» ¸¸µé¸é µÉ °Í °°½À´Ï´Ù.
VS ¾²¸é¼ ÇÊ¿äÇÒ °æ¿ì º°µµ ÇÁ·Î±×·¥À¸·Î ÇØ´ç µðÀÚÀÎÆÄÀÏ¸é ¼öÁ¤ÇÏ´Â..
³ë°¡´Ù ³¡..
http://www.2cpu.co.kr/PDS/12271