VS2008(Windows CE)自动调整dataGrid列宽

时间:2015-03-23 11:06:57

标签: c# visual-studio-2008 windows-ce

我将Visual Studio 2008用于Windows CE 6.0应用程序。 为此,我使用dataGrid-Control(而不是dataGridView!)。 它在运行时将其作为List获取数据源,其中包含以下对象:

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

效果很好,但两列的宽度都非常小,我无法找到dataGrid的选项,使其100%与窗口对齐。 是否有可能实现这一目标?

编辑:

有没有办法重命名列标题?

EDIT2:

我试过了:

http://www.codeproject.com/Articles/3812/Resizing-Data-Grid-Columns-To-Content

导致"无效的投射异常"

1 个答案:

答案 0 :(得分:2)

解决了它:

        dgLatestPositions.DataSource = items;

        DataGridTableStyle tableStyle = new DataGridTableStyle();
        tableStyle.MappingName = items.GetType().Name;

        // Column 1
        DataGridTextBoxColumn tbcCoding= new DataGridTextBoxColumn();
        tbcCoding.Width = 100;
        tbcCoding.MappingName = "Coding";
        tbcCoding.HeaderText = "Coding";
        tableStyle.GridColumnStyles.Add(tbcCoding);

        // Column 2
        DataGridTextBoxColumn tbcAmount = new DataGridTextBoxColumn();
        tbcAmount .Width = 100;
        tbcAmount .MappingName = "Amount";
        tbcAmount .HeaderText = "Amount";
        tableStyle.GridColumnStyles.Add(tbcAmount );

        dgLatestPositions.TableStyles.Clear();
        dgLatestPositions.TableStyles.Add(tableStyle);

不自动调整,但至少更大。