listview修改数据(listview修改子项内容)

http://www.itjxue.com  2023-02-12 04:04  来源:未知  点击次数: 

C#中listview的数据怎样更新

string?input="修改后的内容";

listview.Items[i].SubItems[j].Text=input;//修改第i行数据的第j列元素(都是从0开始索引)

能不能让listview只更新指定一行的数据

可以的,如果你只是要更改数据不更改布局的话,可以写一个广播或监听的,及时更新,如果你想更改布局可以通过getView获取到要更新的item然后进行更新,希望可以帮到你!

tkintwr中listview如何添加数据

ListView控件数据操作一、添加表头和数据

在窗口显示数据时,经常会用到ListView这个控件,虽然也可以使用ListBox,但其功能还是比较弱一些,ListView相对用起来更顺手一些。下面的两个函数是给控件添加表头和数据的函数,贴出来供大家参考。

函数代码给ListView添加数据,数据可以为数组或单行数据(逗号分隔)

Public Sub AddListViewData(ListViewName As Object, DateArr, Optional Header As Integer = 0, Optional AddData As Boolean = False)

'添加ListView数据,正常为数组,支持单行数据添加(逗号分隔)

'第一行数据为标题行时,Header应为1

'默认为替换数据,如果需要在原有数据基础上添加时,AddData应为True

Dim i As Integer, j As Integer

Dim DateCol() As String

Dim Itm As Object

Dim PartKey As String

If Not AddData Then ListViewName.ListItems.Clear

If IsArray(DateArr) Then

For i = LBound(DateArr) + Header To UBound(DateArr)

Set Itm = ListViewName.ListItems.Add()

Itm.Text = DateArr(i, LBound(DateArr, 2))

For j = LBound(DateArr, 2) + LBound(DateArr) To UBound(DateArr, 2)

Itm.SubItems(j - LBound(DateArr)) = DateArr(i, j)

Next

Next

Else

If IsEmpty(DateArr) Or DateArr = "没有记录" Then Exit Sub

DateCol = Split(DateArr, ",")

Set Itm = ListViewName.ListItems.Add()

Itm.Text = DateCol(LBound(DateCol))

For i = LBound(DateCol) + LBound(DateArr) To UBound(DateCol)

Itm.SubItems(i - LBound(DateArr)) = DateCol(i)

Next

End If

End Sub

给ListView添加表头,支持直接给定宽度和额外增加的宽度

Public Sub AddListViewHead(ListViewName As Object, ColHeader, Optional ColWidth As String, Optional AddWidth As Integer = 5, Optional DefultWidth As String = "Auto")

Dim SpHeader() As String

Dim SpWidth() As String

Dim SpAlign() As String

Dim CW As Integer

Dim CA As Integer

Dim i As Integer

ListViewName.ColumnHeaders.Clear

ListViewName.ListItems.Clear

SpWidth = Split(ColWidth, ",")

If UBound(SpWidth) = 0 Then CW = Val(ColWidth)

With ListViewName

If IsArray(ColHeader) Then

For i = LBound(ColHeader, 2) To UBound(ColHeader, 2)

If i = UBound(SpWidth) Then CW = Val(SpWidth(i)) Else CW = IIf(DefultWidth = "Auto", 0, CW)

If CW = 0 And CW Len(StrConv(ColHeader(0, i), vbFromUnicode)) * 15 + AddWidth Then CW = Len(StrConv(ColHeader(0, i), vbFromUnicode)) * 15 + AddWidth

If CW 0 Then CW = 0

.ColumnHeaders.Add , , ColHeader(0, i), CW

Next

Else

If ColHeader = "操作不成功" Then Exit Sub

SpHeader = Split(ColHeader, ",")

For i = LBound(SpHeader) To UBound(SpHeader)

If i = UBound(SpWidth) Then CW = Val(SpWidth(i)) Else CW = IIf(DefultWidth = "Auto", 0, CW)

If CW = 0 And CW LenB(StrConv(SpHeader(i), vbFromUnicode)) * 7.5 + AddWidth Then CW = LenB(StrConv(SpHeader(i), vbFromUnicode)) * 7.5 + AddWidth

If CW 0 Then CW = 0

.ColumnHeaders.Add , , SpHeader(i), CW

Next

End If

.View = lvwReport

.FullRowSelect = True

.Gridlines = True

End With

End Sub

调用例子

Sub FormLoad()

AddListViewHead 列表, Range("A1:D1").Value

tmp = SumArrRow(Range("a1:c4").Value, "1,3", True)

AddListViewData 列表, tmp

End Sub

VBA listview修改数据并保存到源数据的代码

在下面TextBox框中输入想要修改的值,然后点击确定把TextBox中的值写入到LISTVIEW中去,要求源数据表同时更改。也就是说修改源数据的值LISTVIEW控件中就会自动显示了.

图片的内容看起来比较复杂,源数据和窗体上显示的数据的结构是怎么样的呢?有原文件的话可能会比较好弄懂一些吧……

vb6 listview控件点击末一行修改末列数据库内容

一、改变颜色

在VB6的ListView控件中,可以改变项目及其子项的前景色、背景色。实现方法如下

(1)在窗体上布置一个ListView控件

(2)窗体代码如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

Option

Explicit

Private

Sub

Form_Load()

Dim

itemX

As

ListItem

With

ListView1

.View

=

lvwReport

.ColumnHeaders.Add

,

,

"类别"

.ColumnHeaders.Add

,

,

"品名1"

.ColumnHeaders.Add

,

,

"品名2"

Set

itemX

=

.ListItems.Add(,

,

"水果")

itemX.SubItems(1)

=

"苹果"

itemX.SubItems(2)

=

"香蕉"

(责任编辑:IT教学网)

更多

推荐Oracle文章