2014-02-28 61 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對象並註冊它。