我們創建了一個包含5列的列表視圖。在一個函數中,我們按順序在前3列中添加數據。在第二個函數中,我們要添加字符串到第五列。在第二個功能之前,第4列可以是空白或填充的。我們只想跳過該列並在第五個數據中添加數據。或者這個問題可能歸結爲檢查第四欄的價值。如何檢查?我們嘗試了 如果listview.items [i] .SubItems.Strings [2] =''...,它會提示出界。如何跳過一列並將字符串添加到列表視圖中的另一列?
請給出一些建議。 預先感謝您。
我們創建了一個包含5列的列表視圖。在一個函數中,我們按順序在前3列中添加數據。在第二個函數中,我們要添加字符串到第五列。在第二個功能之前,第4列可以是空白或填充的。我們只想跳過該列並在第五個數據中添加數據。或者這個問題可能歸結爲檢查第四欄的價值。如何檢查?我們嘗試了 如果listview.items [i] .SubItems.Strings [2] =''...,它會提示出界。如何跳過一列並將字符串添加到列表視圖中的另一列?
請給出一些建議。 預先感謝您。
當您使用item.SubItems屬性時,您不能skip
列中的TListView
列,但您可以將空字符串分配給列。
你必須這樣進行:
總是先填寫你的專欄,當你添加一個新的TItemList
。
item:=listview.Items.Add();
item.captiom:='Data col1';
item.SubItems.Add('Data col2');
item.SubItems.Add('Data col3');
item.SubItems.Add('');//empty
item.SubItems.Add('');//empty
然後在您的其他功能中,訪問任何列以檢查它是否爲空或用於添加數據。
if listview.Items.Item[0].SubItems[2]<>'' then //check if the fourth column of the listiew is empty
listview.Items.Item[0].SubItems[2]:='Data col4' //adding the data
將字符串添加到ListView的第一個項目的第五列:
ListView_SetItemText(ListView1.Handle, 0, 4, 'fifth column');
要獲得字符串中ListView的第一個項目的第五列:
var
ItemText: array [0..259] of Char;
begin
ListView_GetItemText(ListView1.Handle, 0, 4, @ItemText, SizeOf(ItemText));
ShowMessage(ItemText);
編輯:注意添加文本的子項的這種方法繞過了一些VCL機制,例如你可以得到'SubItem.Count'爲'0',並且在子項上仍然有文本。如果這很重要,我會使用RRUZ的方法。
非常感謝,親愛的Sertac Akyuz。 – Dylan 2010-11-05 16:02:11