Windows Mobile 5.0 Datagrid列大小

时间:2017-03-07 09:17:42

标签: c# datagridview windows-mobile

所以我为一家使用这种PDA设备的公司的仓库工人建立了一个小程序。 http://www.thebarcodewarehouse.co.uk/Images/Product/Default/large/Honeywell-Dolphin60s-image1.jpg

它有Windows移动操作系统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();

1 个答案:

答案 0 :(得分:0)

您缺少TableStyle Mapping名称,即要分配样式的表的名称:

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

在上面的代码中,我使用了一个数据对象的数组。我不知道你的建筑用什么。请参阅MSDN上的also

另一个奇怪的(颜色很多,很多图像)site有人说: “我可以使用BindingSource.GetListName(null)来获取匿名类型的字符串表示形式。” 和 “tableStyle.MappingName = dgCustom.DataSource.GetType()。Name;”

数据网格可以有多个数据源,通常是数据表。每个TableStyle定义一个表的样式,并在那里定义列的样式。 TableStyle.Mapping prop定义样式&lt; - &gt;表关系。