为Win CE设备自定义DataGrid

时间:2015-03-04 11:17:59

标签: c# datagrid windows-ce

我正在为windows ce编写应用程序,所以我必须使用VS 2008。

我在dataGrid-Control中显示一些数据(DataGridView不可用!),我想自定义它。

像grid.Columns [i] .width等这些东西不适用于这些控件。

我需要更改列宽和标题文本,我该如何实现? datagrid在运行时使用以下行获取条目:

dgLatestPositions.DataSource = items;

项目是一个列表<>包含对象,表有2列。 除了这些问题之外,dataGrid的视图工作正常。

编辑:也许是这样的? (它还没有工作)

DataGridTableStyle t = new DataGridTableStyle();
t.GridColumnStyles[0].HeaderText = "Coding";
t.GridColumnStyles[1].HeaderText = "Amount";
dgLatestPositions.TableStyles.Add(t);

编辑:

所有项目都包含在列表中。 文章对象看起来像这样: 公共类lastChanges

{
    public long coding { get; set; }
    public int amount { get; set; }
}

表格显示如下(示例)

编码|金额

0123456789 | 3

0829346128 | 4

我需要做的是调整第一列的大小并更改字幕

1 个答案:

答案 0 :(得分:2)

我们也有一个需要在WindowsCE下支持的应用程序,必须在VS2008中完成。您非常接近,我们所做的是创建了一个用于显示的基类数据网格,并添加了一个方法来添加我们想要获取标题文本,绑定列源和宽度的列。这是我们的方法和" myTblStyle"是你的DataGridTableStyle" t"变量

public void AddColumn(string hdr, string colName, int colWidth)
{
    DataGridTextBoxColumn tbc = new DataGridTextBoxColumn();
    tbc.HeaderText = hdr;
    tbc.MappingName = colName;
    tbc.Width = colWidth;
    myTblStyle.GridColumnStyles.Add(tbc);
}