我正在RepositoryItemRadioGroup
单元格编辑中创建一个XtraGrid.GridControl
。
var radioGroup = new RepositoryItemRadioGroup();
var radioCtrl = node.ViewControl as IRadioButtonControl;
if (radioCtrl == null)
return radioGroup;
var index = 0;
foreach (var choice in choices)
{
var choiceValue = index.ToString();
++index;
var item = new RadioGroupItem(choiceValue, choice);
radioGroup.Items.Add(item);
}
运行时,如果RadioGroupItem
的文本长于一定数量的字符,则会在右侧被剪切。
如何控制/更改此控件的绘画?
答案 0 :(得分:1)
起初我会说要使用“自动调整”来完成这项工作,但是我在建议它之前尝试了一下,看来它可以自动适应内容而不是控件。
我认为这很容易被黑客入侵。首先,您需要将存储库编辑的ItemsLayout
属性设置为“ Flow”,这将使单选按钮彼此相邻出现,而不是根据最大的标题为其留出空格:
repositoryItemRadioGroup1.ItemsLayout = DevExpress.XtraEditors.RadioGroupItemsLayout.Flow
这是下一部分,可能需要做一些调整...您基本上需要根据单选项目标题和单选按钮手动确定列的宽度。带填充的单选按钮本身的宽度大约为25。每个字符可能是5或6。因此,如果您将每个项目都假定为需要25宽度×字符数,则可以将其加起来并相应地设置列宽。
int width = 0;
foreach (var choice in choices)
{
var choiceValue = index.ToString();
width += (25 + 6 * choice.Length);
++index;
var item = new RadioGroupItem(choiceValue, choice);
repositoryItemRadioGroup1.Items.Add(item);
}
colGridColumn.Width = width;
我希望对此有一个Dev Ex解决方案,但我不知道...在此期间尝试一下。