導航:首頁 > 凈水問答 > vblistview過濾

vblistview過濾

發布時間:2022-07-22 04:08:36

① vbnet中listview控制項輸入中文重復引發Keypress事件

如果是單個字的重復還好說,可是輸入片語時,一串字的重復,而且一個字一次事件,這肯定是微軟的一個Bug。

辦法是有的,把中文字暫時放入字元緩沖中,遇到成雙時對半分,前後對比一下,如果相同表示這次輸入完成。


PrivateSubListView1_KeyPress(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.KeyPressEventArgs)HandlesListView1.KeyPress
StaticbufferAsString
Staticar(1)AsString
IfAsc(e.KeyChar)<0Then
buffer&=e.KeyChar
Ifbuffer.LengthMod2=0Then
ar(0)=buffer.Substring(0,buffer.Length2)
ar(1)=buffer.Substring(buffer.Length2)
Ifar(0)=ar(1)Then
Debug.Print(ar(0))'輸出中文
buffer=Nothing
EndIf
EndIf
Else
Debug.Print(e.KeyChar)'輸出英文
EndIf
EndSub

② VB如何篩選listview里的內容

也就是查找LISTVIEW控制項中指定的字元串吧.

Private Sub ListView2_Click()
On Error GoTo ONERROR
Dim strFindMe As String

strFindMe = ListView2.ListItems(ListView2.SelectEditem.Index).Text 獲取選定行的第一列的文本

FindItem 方法返回找到的項目的引用,所以必須創建對象變數並將找到的項目設置給它。
Dim itmFound As ListItem 「FoundItem 變數」

Set itmFound = ListView1.FindItem(strFindMe, lvwText, , lvwPartial)

若未找到符合條件的 ListItem 則通知用戶並退出。如果找到 ListItem,則使用 EnsureVisible 方法滾動控制項,並選定 ListItem。
If itmFound Is Nothing Then 若沒有匹配成功,則通知用戶並退出。
MsgBox "No match found"
Else
itmFound.EnsureVisible 滾動 ListView 以顯示找到的 ListItem。
itmFound.Selected = True 選定ListItem。
ListView1.SetFocus 將焦點返回給控制項以查看選擇。
End If
Set itmFound = Nothing
ONERROR:
If Err.Number <> 0 Then
Select Case Err.Number
Case Else
MsgBox "錯誤代碼:" & Err.Number & " 錯誤描述:" & Err.Description, vbExclamation, App.ExeName
Resume Next
End Select
End If
End Sub

③ VB Listview控制項怎麼去掉不需要的列

加上下面的代碼:
ListView1.ColumnHeaders.Item(1).Width = 0 '< ---第1列寬設置為0
ListView1.ColumnHeaders.Item(2).Width = 1000 '< ---第2列寬
ListView1.ColumnHeaders.Item(3).Width = 500 ' < ---第3列寬
ListView1.ColumnHeaders.Item(4).Width = 1500 '< ---第4列寬
ListView1.ColumnHeaders.Item(5).Width = 1000 '< ---第5列寬
ListView1.ColumnHeaders.Item(6).Width = 0 '< ---第6列寬設置為0
ListView1.ColumnHeaders.Item(7).Width = 0 '< ---第7列寬設置為0
請採納,謝謝!

④ vb 中 listview 的用法

可以以數組下標訪問。ListView.Items[i].text;

//增加
i := ListView1.Items.Count;
with ListView1 do
begin
ListItem:=Items.Add;
ListItem.Caption:= IntToStr(i);
ListItem.SubItems.Add('第 '+IntToStr(i)+' 行');
ListItem.SubItems.Add('第三列內容');
end;

//按標題刪除
for i:=ListView1.Items.Count-1 downto 0 Do
if ListView1.Items[i].Caption = Edit1.Text then
begin
ListView1.Items.Item[i].Delete(); //刪除當前選中行
end;

//選中一行
if ListView1.Selected <> nil then
Edit1.Text := ListView1.Selected.Caption;

// listview1.Items[Listview1.Items.Count -1].Selected := True;
// listview1.Items[Listview1.Items.Count -1].MakeVisible(True);
procere TForm1.Button2Click(Sender: TObject); // 選擇第一條
begin
listview1.SetFocus;
listview1.Items[0].Selected := True;
end;

procere TForm1.Button1Click(Sender: TObject); // 選擇最後一條
begin
listview1.SetFocus;
listview1.Items[Listview1.Items.Count -1].Selected := True;
end;

//這是個通用的過程
procere ListViewItemMoveUpDown(lv : TListView; Item : TListItem; MoveUp, SetFocus : Boolean);
var
DestItem : TListItem;
begin
if (Item = nil) or
((Item.Index - 1 < 0) and MoveUp) or
((Item.Index + 1 >= lv.Items.Count) and (not MoveUp))
then Exit;
lv.Items.BeginUpdate;
try
if MoveUp then
DestItem := lv.Items.Insert(Item.Index - 1)
else
DestItem := lv.Items.Insert(Item.Index + 2);
DestItem.Assign(Item);
lv.Selected := DestItem;
Item.Free;
finally
lv.Items.EndUpdate;
end;
if SetFocus then lv.SetFocus;
DestItem.MakeVisible(False);
end;

//此為調用過程,可以任意指定要移動的Item,下面是當前(Selected)Item
ListViewItemMoveUpDown(ListView1, ListView1.Selected, True, True);//上移
ListViewItemMoveUpDown(ListView1, ListView1.Selected, False, True);//下移

TListView組件使用方法

引用CommCtrl單元

procere TForm1.Button1Click(Sender: TObject);
begin
ListView_DeleteColumn(MyListView.Handle, i);//i是要刪除的列的序號,從0開始

end;

用LISTVIEW顯示表中的信息:
procere viewchange(listv:tlistview;table:tcustomadodataset;var i:integer);
begin
tlistview(listv).Items.BeginUpdate; {listv:listview名}
try
tlistview(listv).Items.Clear;
with table do {table or query名}
begin
active:=true;
first;
while not eof do
begin
listitem:=tlistview(listv).Items.add;
listitem.Caption:=trim(table.fields[i].asstring);
// listitem.ImageIndex:=8;
next;
end;
end;
finally
tlistview(listv).Items.EndUpdate;
end;
end;

ListView使用中的一些要點。以下以一個兩列的ListView為例。
→增加一行:
with ListView1 do
begin
ListItem:=Items.Add;
ListItem.Caption:='第一列內容';
ListItem.SubItems.Add('第二列內容');
end;
→清空ListView1:
ListView1.Items.Clear;
→得到當前被選中行的行的行號以及刪除當前行:
For i:=0 to ListView1.Items.Count-1 Do
If ListView1.Items[i].Selected then //i=ListView1.Selected.index
begin
ListView1.Items.Delete(i); //刪除當前選中行
end;
當然,ListView有OnSelectItem事件,可以判斷選擇了哪行,用個全局變數把它賦值出來。
→讀某行某列的操作:
Edit1.Text := listview1.Items[i].Caption; //讀第i行第1列
Edit2.Text := listview1.Items[i].SubItems.strings[0]; //讀第i行第2列
Edit3.Text := listview1.Items[i].SubItems.strings[1]; //讀第i行第3列
以次類推,可以用循環讀出整列。
→將焦點上移一行:
For i:=0 to ListView1.Items.Count-1 Do
If (ListView1.Items[i].Selected) and (i>0) then
begin
ListView1.SetFocus;
ListView1.Items.Item[i-1].Selected := True;
end;
不過在Delphi6中,ListView多了一個ItemIndex屬性,所以只要
ListView1.SetFocus;
ListView1.ItemIndex:=3;
就能設定焦點了。

⑤ VB中怎麼清空listview中的東西

用ListView.ListItems.Clear清空所有項目;用ListView.ColumnHeaders.Clear清空表頭。

示例代碼如下:

(1)新建一個VB6工程

(2)在Form1窗體布置一個ListView和一個Command

⑥ vb.net中,怎麼把listview1的數據篩選之後放到listview2,不能刪除listview1的數據

ListView2.Items.Add(ListView1.Items(0).Clone)

⑦ vb listview篩選刪除

要解決這個問題主要是要掌握listview這個控制項的用法。大致了解下後重點解決:1.listview如何遍歷數據 2.listview刪除某行的方法。

獲取當前行數和列數:

讀取某行第幾列內容 (不包括第一列):

循環查找讀取項目:

刪除指定行:

網頁鏈接

⑧ VB中listview的用法

文本文件 1.txt
裡面內容是:
李佳
22
文秘
13655555555
張奇
24
經理
13755555555
張佳
22

135555555

Public Sub LVrefresh(Optional ByVal StandardType As Boolean)
Dim intRow As Integer, strTemp As String
Dim fileNo As Integer, fileName As String
Dim Fp As New FileSystemObject
Dim strTs As TextStream

Dim ListItemTemp As ListItem

On Error Resume Next

fileNo = FreeFile

With ListView1
.ColumnHeaders.Clear
.ListItems.Clear

.ColumnHeaders.Add , , "姓名"
.ColumnHeaders(1).Width = 1200
.ColumnHeaders.Add , , "年齡"
.ColumnHeaders(2).Width = 900
.ColumnHeaders.Add , , "職位"
.ColumnHeaders(3).Width = 2000
.ColumnHeaders.Add , , "聯系電話"
.ColumnHeaders(4).Alignment = lvwColumnLeft
.ColumnHeaders(4).Width = 2000

intRow = 1

fileName = IIf(Left(App.Path, 1) = "\", App.Path & "1.txt", App.Path & "\1.txt")

Set strTs = Fp.OpenTextFile(fileName)

strTemp = strTs.ReadLine

Do While Err.Number = 0

If intRow = 1 Then
Set ListItemTemp = .ListItems.Add(, , strTemp)
Else
ListItemTemp.SubItems(intRow - 1) = strTemp
End If

If intRow = 4 Then
intRow = 1
Else
intRow = intRow + 1
End If
strTemp = strTs.ReadLine
Loop

End With
End Sub

Private Sub Command1_Click()
LVrefresh
End Sub

⑨ vb中怎麼從listview框的記錄中篩選

Private Sub Command1_Click()
If List1.List(List1.ListIndex) <> "" Then
List2.AddItem (List1.List(List1.ListIndex))
List1.RemoveItem (List1.ListIndex)
End If
End Sub

Private Sub Command2_Click()
If List2.List(List2.ListIndex) <> "" Then
List1.AddItem (List2.List(List2.ListIndex))
List2.RemoveItem (List2.ListIndex)
End If
End Sub

Private Sub Form_Load()
List1.AddItem "A"
List1.AddItem "B"
List1.AddItem "C"
List1.AddItem "D"
List1.AddItem "E"
Command1.Caption = "添加"
Command2.Caption = "刪除"
End Sub

完整代碼如上,你只需在窗體上添加四個控制項:
兩個ListBox和兩個CommandBox
無須修改代碼,直接運行即可.

⑩ vb中控制項listview的詳細使用

1、首先,點擊文件->新建->項目,打開項目創建視窗,切換到Visual Basic,選擇Windows窗體應用程序,新建一個。

閱讀全文

與vblistview過濾相關的資料

熱點內容
四川一體化提升泵 瀏覽:645
幫膜超濾工藝 瀏覽:778
霍曼飲水機亮紫色燈是什麼意思 瀏覽:192
哪些廢水不屬於危廢 瀏覽:53
晉城移動空氣凈化器機器人多少錢 瀏覽:796
河北多效蒸餾水機 瀏覽:308
凈水機廢水能第二次凈化 瀏覽:118
樹脂涼鞋有點緊怎麼處理 瀏覽:82
固體耐高溫環氧樹脂1000度 瀏覽:864
反滲透膜使用時間長了怎麼辦 瀏覽:689
國內陶氏ro膜假貨 瀏覽:353
污水中有消毒液怎麼辦 瀏覽:783
智能的生活污水處理 瀏覽:431
超濾膜跑料 瀏覽:407
污水處理停產告示範文 瀏覽:531
米家除甲醛凈化器數字多少正常 瀏覽:56
如何判斷污水的生化性 瀏覽:958
鹽爐廢水廢氣環保處理 瀏覽:747
真空帶式過濾機流程圖 瀏覽:465
珠海低價凈化器多少錢一台 瀏覽:903