3

如何在 UltraGrid 和 UltraGrid 中准确获得扩展的 UltraGridColumn 宽度?

我有以下 Windows 窗体:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        IEnumerable<string> test = new List<string>{DateTime.Now.ToString()};
        this.ultraGrid2.DataSource = test;
        this.ultraGrid2.DisplayLayout.AutoFitStyle = AutoFitStyle.ExtendLastColumn;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        MessageBox.Show("The column width is " + this.ultraGrid2.DisplayLayout.Bands[0].Columns[0].Width);
    }
}

表格是什么样子的

无论我如何操作或调整表单大小。width仍然给出相同的默认值。只有当我调整列的大小时,它才会改变。在这种情况下,我认为宽度将接近表单本身的 x 大小。

4

1 回答 1

6

如果您将 设置为AutoFitStyle最后一列ExtendLastColumnWidth属性,则不会反映该列的实际宽度。如果您将其设置为AutoFitStyle,则None可以设置并读取列宽度。

但是,至少只是为了阅读,有一种解决方法:
在上面的示例中,只有一列,您可以获得该列的 CellSizeResolved 属性

UltraGridColumn column = grid.DisplayLayout.Bands[0].Columns[0];
Debug.WriteLine("Column width is " + column.CellSizeResolved.Width);
于 2013-02-08T21:21:33.347 回答