2017-03-07 9 views
0

그래서이 PDA 장치를 사용하는 회사의 창고 작업자를위한 작은 프로그램을 만들었습니다. http://www.thebarcodewarehouse.co.uk/Images/Product/Default/large/Honeywell-Dolphin60s-image1.jpgWindows Mobile 5.0 Datagrid 열 크기

은 그림에 도시 된 바와 같이이 윈도우 모바일 운영체제 5.0 enter image description here 를 가지며, 상세한 설명 및 부호 열은 동일한 크기를 갖는다. 나는 그것이 오래된 기술이라는 것을 알고 있지만 관리자는 설명 열을로드에서 더 넓게 만들 것을 주장합니다 (수동으로로드 한 후에는 더 크게 만들 수 있습니다).

본인은이 코드를 작성했습니다.

DataGridTableStyle ts = new DataGridTableStyle(); 
    DataGridTextBoxColumn cs = new DataGridTextBoxColumn(); 

    cs = new DataGridTextBoxColumn(); 
    cs.MappingName = "Desc"; 
    cs.HeaderText = "description"; 

    cs.Width = 150; 
    ts.GridColumnStyles.Add(cs); 

    cs = new DataGridTextBoxColumn(); 
    cs.MappingName = "Code"; 
    cs.HeaderText = "code"; 
    cs.Width = 50; 
    ts.GridColumnStyles.Add(cs); 


    cs = new DataGridTextBoxColumn(); 
    cs.MappingName = "barcode"; 
    cs.HeaderText = "barcode"; 
    cs.Width = 90; 
    ts.GridColumnStyles.Add(cs); 

    DgView.TableStyles.Clear(); //DgView is the Datagrid 
    DgView.TableStyles.Add(ts); 

      DgView.DataSource = AllKinds.AsEnumerable(). 
       OrderBy(x => x.Field<string>("Desc")). 
       Select(p => new 
       { 
        Description = p.Field<string>("Desc").Trim(), 
        Code = p.Field<string>("Code").Trim() 
       }).ToList(); 
+0

DgView.DataSource를 설정 한 후 DgView 스타일을 설정해보십시오. 맵핑에 대한 DgView 내용을 다시 확인하십시오. BTW : 스크린 샷은 Windows Embedded Handheld 6.5 및 Windows Mobile 5를 실행하는 장치를 보여줍니다! – josef

+0

오, 미안 해요. 내 프로젝트에 윈도우 모바일 5를 넣었습니다. 당신이 말한 것을 시도했지만,로드 할 때 열은 모두 같은 크기입니다. –

+0

과제에 이상이 있어야합니다. 열 머리글을 보면 심지어 적용되지 않습니다. 스타일의 머리글은 "코드"와 "설명"이지만 머리글은 "코드"와 "설명"입니다. – josef

답변

0

당신은 TABLESTYLE 매핑 이름 누락, 스타일이있는 테이블의 이름을 할당 할 :

DataGridTableStyle ts = new DataGridTableStyle(); 
    //which table is to style 
    ts.MappingName = "data[]"; 

을 나는 데이터 객체의 배열을 사용하는 위의 코드에서. 나는 당신의 건설을 위해 무엇을 사용해야할지 모른다. MSDN의 also을 참조하십시오.

또 다른 이상한 (colorfull, 많은 이미지) site "익명 형식의 문자열 표현을 얻기 위해 BindingSource.GetListName (null)을 사용할 수 있습니다." 및 "tableStyle.MappingName = dgCustom.DataSource.GetType(). Name;"

DataGrid에는 여러 데이터 소스, 일반적으로 데이터 테이블이있을 수 있습니다. 각 TableStyle은 테이블의 스타일을 정의하고 그 안에 스타일 스타일을 정의합니다. TableStyle.Mapping 소품은 스타일 < -> 테이블 관계를 정의합니다.

+0

내가 언급 한 것들 중 일부는 여전히 작동하지 않았다. My List는 "Allkinds"라고 불리며, Datagrid는 "DgView"라고 불리며, 코드를 보여줄 수 있습니까? 머리글 텍스트가 select 문의 속성 이름을 가져옵니다. 나는 아무것도를 위해 모든 스타일을하고있는 것과 같다. –

+0

ts.MappingName = DgView.DataSource.GetType(). 이름; 데이터 채우기가 작동해야합니다. 그렇지 않으면 게시물에 AllKinds 데이터를 제공해야합니다. – josef