2

我需要在 C1FlexGrid 中自动调整行高。我需要使用 AutoSizeRow 让它工作,但它不会改变行高。我通过设置高度对其进行了测试,它可以工作。为什么 AutoSizeRow 不起作用?

For i As Integer = 0 To fgrid.Rows.Count - 1

    'Setting the height explicitly changes the row height    
    fgrid.Rows(i).Height = 32

    'But AutoSizeRow() does not change the row height
     fgrid.AutoSizeRow(i)
Next i
4

1 回答 1

3

请注意,当网格行中有任何数据填充时,AutoSizeRow方法有效。如果没有任何数据,AutoSizeRow 将根本无法工作。同样的事情也发生在你的片段中。由于行中没有数据,所以fgrid.AutoResize(i)没用。尝试用以下代码替换您的代码段,您将了解 AutoSizeRow 的工作原理:

    For i As Integer = 0 To fgrid.Rows.Count - 1
        'Fill data in the cell
        fgrid.Rows(i)(1) = "This is sample text"

        'Setting the height explicitly changes the row height    
        fgrid.Rows(i).Height = 32

        'AutoSizeRow() is changing the row height now
        fgrid.AutoSizeRow(i)
    Next i
于 2014-09-26T04:49:51.160 回答