통합검색
· 마을서비스란?  · 포럼마을  · 일반마을  · 테마마을  · 마을랭킹  · 활동왕
· 덱스퍼트란?  · TECBOX   · PRSBOX   · 이용안내  
· DEXT제품군  · 솔루션베이  · S/W & ESD 컴포넌트
· 프로그램베이
· LiveSeminar  · LiveConference
무선 인터넷(Mobile) 포럼마을 입니다.
  마을등급 무선 인터넷(Mobile)   이 마을은 포럼마을 입니다이 마을은 자유가입제 마을 입니다 마을소개 페이지로 이동 전입신청
마을촌장촌장 조갑열 주민 2289 since 2006-12-29
우리마을 공지사항
질문&답변
강좌&팁
자유게시판
자료실
앨범
개인게시판
마을 게시판
등록된 마을 게시판이
없습니다.
랑데브 게시판
칼럼 게시판
개발자 고충상담
Dev Talk
자유토론방
벼룩시장
재나미 우스개
구인/프로젝트 정보
사람인 채용 게시판
  고객지원 게시판
마이 데브피아
 나의 e-Money 내역
 활동왕 My Page
 스크랩한 게시글보기
 쪽지관리
 주소록관리

 질문&답변 ※ 꼭 답변채택을 해주시어 성의껏 답변해주신 회원님께 감사의 마음을 전하시길 바랍니다.
 datagrid 컬럼에 check 박스 삽입?  | Windows CE 2014-08-07 오후 1:04:11
마하돈오 번호: 32191 추천:0  / 읽음:4,362

안녕하세요..

windows mobile 6.5 한글 버전 제품인 PDA를 가지고 출하관리 프로그램을 개발중에 있습니다.

DATAGRID를 이용할때 CHECKBOX를 어떻게 삽입 하나요?

일반 윈폼개발에서는 datagridview에는 컬럼 삽입을 통해서 가능한것 같은데요..

스마트플랫폼에서는 datagridview를 사용할수 없어서 datagrid를 이용하는데요...checkbox를 컬럼에 삽입하고 싶은데 방법을 모르겠습니다.

현재 개발은 VS2008의 c#으로 하고 있구요...PDA <--> DB를 연결해서 개발 중입니다.

윈도우모바일6.5한글 에뮬레이터는 없는데요. DTK, SDK를 설치 했지만 에뮬레이트에서는 한글을 사용할수 없네요...

구글에서 HANGLENO5.CAB를 받아서 에뮬레이터에 설치를 하니 DB 접속에서 에러가 나네요..

혹시 6.5 에뮬레이트에서 한글은 어떻게 사용하나요?

 예제나 알고 계신분 답변 부탁드립니다.

 

이 글에 답변 등록하기
 [답변]체크박스 추가 입니다. 2014-09-18 오후 12:22:47
 gisfocus  gisfocus님께 메시지 보내기gisfocus님을 내 주소록에 추가합니다.gisfocus님의 개인게시판 가기 번호: 32192 추천:0  

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
 
 
namespace DataGridCustomColumns
{
    public class DataGridCustomCheckBoxColumn : DataGridCustomColumnBase
    {
        private object _nullValue = DBNull.Value;
        
        // Set up owr own NullValue. Let's use DBNull.Value by default.
        public override object NullValue
        {
            get { return _nullValue;  }
            set {
                if (value != _nullValue)
                {
                    _nullValue = value;
                    this.Invalidate();
                }
            }
        }
 
        // Let's add this so user can access 
        public virtual CheckBox CheckBox
        {
            get { return this.HostedControl as CheckBox; }
        }
 
        protected override string GetBoundPropertyName()
        {
            return "CheckState";                                                    // We'll bind to CheckState property.
        }
 
        protected override Control CreateHostedControl()
        {
            CheckBox box = new CheckBox();                                          // Create CheckBox
            
            box.ThreeState = true;                                                  // Make it show 3 states.
 
            return box;
        }
 
        protected override void Paint(Graphics g, Rectangle bounds, CurrencyManager source, int rowNum, Brush backBrush, Brush foreBrush, bool alignToRight)
        {
            Object cellData;                                                    // Object to show in the cell 
 
            DrawBackground(g, bounds, rowNum, backBrush);                       // Draw cell background
 
            cellData = this.PropertyDescriptor.GetValue(source.List[rowNum]);   // Get data for this cell from data source.
 
            if((cellData != null) && (cellData != this.NullValue) && (cellData is IConvertible))
            {                                                                   // Data is IConvertale and not NULL?
                cellData = ((IConvertible)cellData).ToBoolean(this.FormatInfo); // Go ahead and convert it to boolean
            }
            
            DrawCheckBox(g, bounds, (cellData is Boolean )? ((bool)cellData ? CheckState.Checked : CheckState.Unchecked) : CheckState.Indeterminate);
                                                                                // Draw the checkbox according to the data in data source.
 
            this.updateHostedControl();                                         // Have to do that.
        }
 
 
        private void DrawCheckBox(Graphics g, Rectangle bounds, CheckState state)
        {
            // If I Were A Painter... That would look way better. Sorry.
 
            int size;
            int boxTop;
                
            size = bounds.Size.Height < bounds.Size.Width ? bounds.Size.Height : bounds.Size.Width;
            size = size > ((int)g.DpiX / 7) ? ((int)g.DpiX / 7) : size;
 
            boxTop = bounds.Y + (bounds.Height - size) / 2;
            
            using (Pen p = new Pen(this.Owner.ForeColor)) 
            {
                g.DrawRectangle(p, bounds.X, boxTop, size, size);
            }
 
            if (state != CheckState.Unchecked) 
            {
                using (Pen p = new Pen(state == CheckState.Indeterminate ? SystemColors.GrayText : SystemColors.ControlText)) 
                {
                    g.DrawLine(p, bounds.X, boxTop, bounds.X + size, boxTop + size);
                    g.DrawLine(p, bounds.X, boxTop + size, bounds.X + size, boxTop);
                }
            }
        }
    }
}
이 글에 답변 등록하기
목록 보기   지금 보고 계시는 글을 회원님의 my Mblog >> 스크랩에 넣어두고 다음에 바로 보실 수 있습니다.  
회사소개  |   개인정보취급방침  |  제휴문의  |   광고문의  |   E-Mail 무단수집거부  |   고객지원  |   이용안내  |   세금계산서
사업자등록번호 안내: 220-81-90008 / 통신판매업신고번호 제 2017-서울구로-0055호 / 대표: 홍영준, 서민호
08390, 서울시 구로구 디지털로32길 30, 1211호 / TEL. 02_6719_6200 / FAX. 02-6499-1910
Copyright ⓒ (주) 데브피아. All rights reserved.