2017-03-07 74 views
0

所以我爲倉庫工人一個小程序,使用該PDA設備的公司。 http://www.thebarcodewarehouse.co.uk/Images/Product/Default/large/Honeywell-Dolphin60s-image1.jpgWindows Mobile 5.0的DataGrid列大小

它有Windows Mobile操作系統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風格設置DgView.DataSource後。根據映射重新檢查DgView內容。順便說一下:屏幕截圖顯示了一個運行Windows Embedded Handheld 6.5而不是Windows Mobile 5的設備! – josef

+0

哦,在我的項目抱歉,就被戴上的Windows Mobile 5,我想你說的是什麼,但仍然在加載時,列都是一樣的尺寸。 –

+0

作業必須有問題。看看列標題,即使它們不適用。樣式中的標題顯示「代碼」和「描述」,但顯示的標題爲「代碼」和「描述」。 – josef

回答

0

您未填寫TABLESTYLE映射名稱,要分配的表的名稱,所述樣式是:

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

在我使用的數據對象的一個​​陣列上面的代碼。我不知道你的建築使用什麼。請參閱MSDN上的also

在另一個陌生(創輝,大量的圖片)site人說: 「我可以用BindingSource.GetListName(空),以獲得匿名類型的字符串表示。」 和 「tableStyle.MappingName = dgCustom.DataSource.GetType()名稱;」。

DataGrid中可以有多個數據源,通常數據表。每個TableStyle定義一個表格的樣式,並在那裏定義列的樣式。 TableStyle.Mapping prop定義樣式< - >表關係。

+0

我嘗試了一些你提到的東西,但它仍然無法正常工作。我的列表被稱爲「Allkinds」,並且Datagrid被稱爲「DgView」,你能告訴我一個代碼嗎?標題文本正在獲取select語句的屬性名稱。這就像我正在做所有的風格一無所有。 –

+0

ts.MappingName = DgView.DataSource.GetType()。Name;數據填充應該工作後。否則,您需要將您的AllKinds數據提供給該帖子。 – josef