listview-C# ListView选中问题求助

问题描述

C# ListView选中问题求助

如图,有一个ListView,CheckBoxes已经开启了。

如上图所示,已经选中了几条记录,当我点击选中的复选框(任意一个)的时候,所有的复选框都会取消选择。
经断点调试发现,listView1_ItemChecked 事件会被执行多次,直到所有复选框取消选择为止。
里面的代码只有一句话:

 private void listView1_ItemChecked(object sender, ItemCheckedEventArgs e)
        {
            e.Item.Selected = e.Item.Checked;
        }

很奇怪啊,为什么会执行多次呢,怎么解决呢?

解决方案

如果这个方法在adapter的getView方法中被无限制的调用,就会出现这种情况。解决方法就是为list集合数据对象设置一个boolean属性,然后在listview的onItemClick监听中改变对应position的数据对象的boolean属性,然后通知adapter刷新。

解决方案二:

每个条目执行一次,很正常啊。

时间: 2024-11-10 00:37:24

listview-C# ListView选中问题求助的相关文章

UWP ListView 绑定 单击 选中项 颜色

xaml <Page x:Class="SuperTools.Views.BlankPage3" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expressio

Windows 10 UWP开发:如何去掉ListView默认的选中效果

原文:Windows 10 UWP开发:如何去掉ListView默认的选中效果 开发UWP的时候,很多人会碰到一个问题,就是ListView在被数据绑定之后经常有个默认选中的效果,就像这样: 而且它不仅会选中,还会触发一次SelectionChanged事件,当然,我们要让ListView可点击,一种流行的做法确实是用SelectionChanged事件,就像这样: private void StationsList_OnSelectionChanged(object sender, Selec

c#-用C#只删除了listview中的选中的一行,但没删除数据库中的

问题描述 用C#只删除了listview中的选中的一行,但没删除数据库中的 string strSQL = ""delete from GrindingWheelInformation where listView1.SelectedItems[0]'"" + listView1.SelectedItems.ToString() + ""'""; string connstr = ""Provider=Mi

软件-vc中的listview怎么允许选中多行

问题描述 vc中的listview怎么允许选中多行 用vc开发一个软件,想要让这个listview支持多行同时被选中,也就是按住ctrl键就可以选中多行? 解决方案 ListView的多行选择问题??? http://bbs.csdn.net/topics/100072187 解决方案二: VB中如何获取listview选中了多少行 专业回答 Dim i As Integer, sCount As Integer sCount = 0 For i = 0 To ListView1.ListIte

界面-listview 中 tagview 卡顿求助

问题描述 listview 中 tagview 卡顿求助 我现在想实现如截图的界面,但是现在实现的方法是每次getview的时候去添加tagview,导致上下滑动或者切换的时候都会很卡顿,截图是 什么值得买 中的界面,完全不会卡顿,顺带附上我的代码,想请教一下有什么思路可以解决,或者我哪里做错了,谢谢各位了 listView.setAdapter(secondAdapter = new CommonAdapter<SecondProductBean>(ClassifyChooseAct.thi

如何将ListView控件选中的项向上移动或向下移动

问题描述 如何将ListView控件选中的项向上移动或向下移动 解决方案 解决方案二:先不说正规移动,把相邻二个节点的名字图标换一下不就行了,如果关联数据,把数据也换过来.解决方案三:用数组,改变数的位置解决方案四:自定义一个控件,继承ListView解决方案五:顶一下解决方案六:同样的问题看这里解决方案七:#region上下排序privatevoidtsmiPLItemUp_Click(objectsender,EventArgse){if(pOVLPlaylist.SelectedObjec

WPF中ListView如何改变选中条背景颜色

先上图 解决方法: <ListView ...> <ListView.ItemContainerStyle> <Style TargetType="{x:Type ListViewItem}"> <Style.Resources> <!-- Foreground for Selected ListViewItem --> <SolidColorBrush x:Key="{x:Static SystemColor

解决ListView嵌套ListView遇到的问题

Listview嵌套会造成的问题主要是子listview的高度错误导致内容不能正常显示完,解决这个问题,我个人第一个想法就是重新计算子listview的高度,代码如下: private void setListViewHeightBasedOnChildren(ListView listView) { if(listView == null) return; ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == n

android-安卓实现listview嵌套listview

问题描述 安卓实现listview嵌套listview 点击上面的最上面一项里面listview中的哪个小手机删除的时候把下面那一项里面的listview中的三项都删除了 还有就是前面三项都删了的时候删除第四项的时候下标越界 我的思路是我在删除的时候并不知道我删除的到底是那一大项里面的数据. 求解啊 解决方案 安卓LISTVIEW 解决方案二: 你怎么不用 多级列表--ExpandableListView 实现简单方便 解决方案三: 都要实现删除,删除后更新相应的更新不就好了 解决方案四: 不要