2014-02-28 59 views
1

我试图制作一个具有更多详细信息和LiveBindings链接的自定义列表框。 在BindList中我只看到了标准字段:文本,详细信息,位图....带有LiveBindings的自定义列表框

当试图在下面的代码绑定:

Item := bliMS.FillExpressions.AddExpression; 
    Item.ControlMemberName := 'SubTitle'; 
    Item.SourceMemberName := 'PAY_NAME'; 

将引发异常:

项目xxxxxx引发消息'Could not find SubTitle'的异常类EEvaluatorError。

如何将SubTitle名称添加到我的自定义ListBox中?

+0

您的自定义ListBox是一个对象还是一个Class?我期望您需要创建一个TMyListBox自定义组件,并具有已发布的SubTitle属性和注册。 – Frazz

回答

0

你声明:Item.ControlMemberName := 'SubTitle';将无法​​工作,因为没有实际ControlMember /对象/“场”,在列表框/ TList<ListViewItem>(实际上,它更正确的说,有没有在每个ListBoxItem对象的ItemsTList实际)称为'SubTitle'。

相反,你必须对的使用内置文本对象(ControlMembers),其中,只有2个:

  1. Item.Text
  2. Item.Detail

如果您由于某种原因必须拥有'SubTitle'ControlMember,那么您需要创建一个自定义ListBoxListBoxItemAppearance对象并注册它。