퇴근5분전

훈스닷넷에서 폼간 데이타 전달 관련해서 질문글이 자주 올라와서
여러가지방법으로 전달방법을 구현해서 올렸던적이 있었음.


사용자 삽입 이미지

수정을 누르면 전달 받는 폼이 뜸
사용자 삽입 이미지

폼이 뜨면 적용하면 데이타값을 적용하고 그리드뷰를 다시 셋팅하게됨.




참 쉽죠잉..

인터페이스를 이용하거나, 생성자를 이용하거나. 데이타를 전달할 방법은 많음.

'# 2) .Net ( Vs 2005 ) > WinForm' 카테고리의 다른 글

데이타베이스 브라우져 ver2  (0) 2009.05.02
처음 만든 이미지 뷰어  (0) 2009.05.02
그리드뷰 컨트롤  (0) 2009.05.02
SMS TextLength 비교  (0) 2009.05.01
Excel Export  (0) 2009.05.01


테이블형태의 데이타를 표시해주는 데이타 그리드뷰.
2년 내내 이것뿐이 써본게 없다. 

모든 그리드뷰를 동일한 설정을 주고자 한다면 UI디자인상에서 하는건
오마이갓!! 이될것이다.

이를 DataGridViewManager 라는것으로 만들어서 처리한다.
코드가 많아보인다라면.. 우리에겐 카피앤패스트가 있기 때문에 주저하지 않고 적용이 가능해진다.

  private void InitReportDestinationGrid()
        {
            try
            {
                #region  그리드 뷰 셋팅!
// 컬럼추가
                DataGridViewManager.ColumnAdd(ReportDestinationGrid, "NO", "전송타입", DataGridViewManager.ColumnType.TextBox, true);
                DataGridViewManager.ColumnAdd(ReportDestinationGrid, "USERYN0", "자연지진", DataGridViewManager.ColumnType.CheckBox, false);
                DataGridViewManager.ColumnAdd(ReportDestinationGrid, "TARGET", "전송매체", DataGridViewManager.ColumnType.TextBox, true);
                DataGridViewManager.ColumnAdd(ReportDestinationGrid, "MEMBER", "등록자수", DataGridViewManager.ColumnType.TextBox, true);
                DataGridViewManager.ColumnAdd(ReportDestinationGrid, "USERYN1", "인공지진", DataGridViewManager.ColumnType.CheckBox, false);

                Color columnBackGroundColor = Color.White; // 백그라운드컬러
// 컬럼셋팅
                DataGridViewManager.ColumnsConfig(ReportDestinationGrid, "NO", columnBackGroundColor, false,
                    null, 1, DataGridViewColumnSortMode.NotSortable,
                    new DataGridViewManager.DgvContentAlignment(DataGridViewContentAlignment.MiddleCenter));
                DataGridViewManager.ColumnsConfig(ReportDestinationGrid, "USERYN0", columnBackGroundColor, null,
                    null, 20, DataGridViewColumnSortMode.NotSortable,
                    new DataGridViewManager.DgvContentAlignment(DataGridViewContentAlignment.MiddleCenter));
                DataGridViewManager.ColumnsConfig(ReportDestinationGrid, "TARGET", columnBackGroundColor, null,
                    null, 40, DataGridViewColumnSortMode.NotSortable,
                    new DataGridViewManager.DgvContentAlignment(DataGridViewContentAlignment.MiddleLeft));
                DataGridViewManager.ColumnsConfig(ReportDestinationGrid, "MEMBER", columnBackGroundColor, null,
                    null, 40, DataGridViewColumnSortMode.NotSortable,
                    new DataGridViewManager.DgvContentAlignment(DataGridViewContentAlignment.MiddleCenter));
                DataGridViewManager.ColumnsConfig(ReportDestinationGrid, "USERYN1", columnBackGroundColor, null,
                    null, 20, DataGridViewColumnSortMode.NotSortable,
                    new DataGridViewManager.DgvContentAlignment(DataGridViewContentAlignment.MiddleCenter));
// 그리드뷰 셋팅
                DataGridViewManager.Config(ReportDestinationGrid, false, false, false, false, null, false,
                    new DataGridViewManager.DgvSelectionMode(DataGridViewSelectionMode.FullRowSelect),
                    new DataGridViewManager.DgvCellBorderStyle(DataGridViewCellBorderStyle.Sunken),
                    new DataGridViewManager.DgvAutoSizeColumnsMode(DataGridViewAutoSizeColumnsMode.Fill)
                    );
// 그리드뷰 컬러 설정
                DataGridViewManager.SetRowColor(ReportDestinationGrid, columnBackGroundColor, columnBackGroundColor);
                #endregion
                #region 그리드 뷰 데이타 바인딩
// 그리드뷰 데이타 바인딩
                StringBuilder sb = new StringBuilder();
                {
                    sb.AppendFormat(" Select SendType");
                    sb.AppendFormat("       ,Send_YN");
                    sb.AppendFormat("       ,SendList");
                    sb.AppendFormat("       ,User_Count");
                    sb.AppendFormat("       ,Send_YN1");
                    sb.AppendFormat(" From   {테이블명}");
                    sb.AppendFormat(" Order by SendList ASC");

                    DataSet ds = msDB.GetDataSet(sb.ToString());

                    if (DataSetCheck.HasTable(ds) && DataSetCheck.HasTableRow(ds, 0))
                    {
                        DataGridViewManager.RowsAdd(ReportDestinationGrid, ds.Tables[0], false);
                       //데이타 그리드를 선택하고 데이타를 바인딩 시킴

        }
         else
        {
             Alert("검색된 데이타가 없습니다.");
         }
     }
      sb = null; 
      #endregion
 }
 catch (Exception ex)
 {
         Alert(ex.Message);
 }

}

'# 2) .Net ( Vs 2005 ) > WinForm' 카테고리의 다른 글

처음 만든 이미지 뷰어  (0) 2009.05.02
폼간 데이타 전달  (0) 2009.05.02
SMS TextLength 비교  (0) 2009.05.01
Excel Export  (0) 2009.05.01
판넬 슬라이드 애니메이션  (0) 2009.05.01



전에 큐브를 구현해보려고 한적이 있었음.
한 면을 두고 그 면에 회전방향을 지정해서 돌리는 로직을 만들었었는데
간단히 올려봄. 

아래 소스는 동일하게 동작한다.
과연 무엇을 쓸것인가?
하나는 그나마 보기에 좋고 소스가 조금더 길다( 쬐끔 )
하나는 보기어렵고 소스가 짧다.

        void RotationFor(bool CW)
        {
            string[] buffer = new string[3];

            buffer[CW ? 2 : 0]  = CubeBuffer[CW ? 11 : 0 ];
            buffer[1]           = CubeBuffer[CW ? 10 : 1 ];
            buffer[CW ? 0 : 2]  = CubeBuffer[CW ?  9 : 2 ];

            for (int loop = 0; loop < 3; loop++)
            {
                CubeBuffer[(CW ? 11 - (loop * 3)-0 : (loop * 3) + 0 ) ] = CubeBuffer[(CW ?11 - (loop * 3) - 3 : (loop * 3) + 3  )];
                CubeBuffer[(CW ? 11 - (loop * 3)-1 : (loop * 3) + 1 ) ] = CubeBuffer[(CW ?11 - (loop * 3) - 4 : (loop * 3) + 4  )];
                CubeBuffer[(CW ? 11 - (loop * 3)-2 : (loop * 3) + 2 ) ] = CubeBuffer[(CW ?11 - (loop * 3) - 5 : (loop * 3) + 5  )];               
            }

            CubeBuffer[CW ? 2 :  9] = buffer[CW ? 2 : 0] ;
            CubeBuffer[CW ? 1 : 10] = buffer[1];
            CubeBuffer[CW ? 0 : 11] = buffer[CW ? 0 : 2] ;
        }

        void Rotation(bool CW)
        {
            string[] buffer = new string[3];
            if (!CW)
            {
                buffer[ 0] = CubeBuffer[ 0];
                buffer[ 1] = CubeBuffer[ 1];
                buffer[ 2] = CubeBuffer[ 2];

                CubeBuffer[ 0] = CubeBuffer[ 3];
                CubeBuffer[ 1] = CubeBuffer[ 4];
                CubeBuffer[ 2] = CubeBuffer[ 5];

                CubeBuffer[ 3] = CubeBuffer[ 6];
                CubeBuffer[ 4] = CubeBuffer[ 7];
                CubeBuffer[ 5] = CubeBuffer[ 8];

                CubeBuffer[ 6] = CubeBuffer[ 9];
                CubeBuffer[ 7] = CubeBuffer[10];
                CubeBuffer[ 8] = CubeBuffer[11];

                CubeBuffer[ 9] = buffer[ 0];
                CubeBuffer[10] = buffer[ 1];
                CubeBuffer[11] = buffer[ 2];
            }
            else
            {
                buffer[ 2] = CubeBuffer[11];
                buffer[ 1] = CubeBuffer[10];
                buffer[ 0] = CubeBuffer[ 9];
               
                CubeBuffer[11] = CubeBuffer[ 8];
                CubeBuffer[10] = CubeBuffer[ 7];
                CubeBuffer[ 9] = CubeBuffer[ 6];
               
                CubeBuffer[ 8] = CubeBuffer[ 5];
                CubeBuffer[ 7] = CubeBuffer[ 4];
                CubeBuffer[ 6] = CubeBuffer[ 3];
               
                CubeBuffer[ 5] = CubeBuffer[ 2];
                CubeBuffer[ 4] = CubeBuffer[ 1];
                CubeBuffer[ 3] = CubeBuffer[ 0];

                CubeBuffer[2] = buffer[ 2];           
                CubeBuffer[1] = buffer[ 1];             
                CubeBuffer[0] = buffer[ 0];
               
               
            }

        }



'# 2) .Net ( Vs 2005 ) > 기타' 카테고리의 다른 글

PWD 암호화 객체.  (0) 2009.05.08
인터페이스와델리게이트조합1  (2) 2009.05.08
DB로컬 연결시 문구  (0) 2009.05.02
XML 컨트롤...  (0) 2009.05.02
DB Connection Factory  (0) 2009.05.01