ListView能否批量选中后修改呢?见下文 有个ListView,如listview1。选中listview1中的多项内容后,右键“修改”菜单。弹出一个新窗体处理修改功能。修改后的值再次传到原窗体中,以达到批量修改的效果。这个功能ListView能否实现呢,怎样实现呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个就是批量编辑的功能,最好不要从listview1 中出发。觉得你的出发点有点不对,你从listview1 出发,对应的只有一条,而你要选择多条一次解决问题,思路是这样的,看你自己的情况了,我弄过你这个功能,换个思路很简单的。 可以的。先说传值在子窗体构建时将主窗体传进来。ParentFrm pfrm;public ChildFrm(ParentFrm p)//传进父窗体{ pfrm=p;}主窗体调用时将自身传进去class ParentFrm{ void OpenNewFrm() { new ChildFrm(this).Show(); }}这样子窗体就可以调用父窗体中的public方法、属性等。 void ChangeValue() { //以下注释中的方法是在虚模式中的实现 //List<ListViewItem> lvis = new List<ListViewItem>();//用于保存被选择的泛型数组 //for (int i = 0; i < listView1.Items.Count; i++) //{ // if (listView1.Items[i].Checked) // lvis.Add(listView1.Items[i]);//如果项被选择,则添加到lvis中 //} //获得所有被选择的项 ListView.CheckedListViewItemCollection clic = new ListView.CheckedListViewItemCollection(listView1); foreach (ListViewItem lvi in clic) { //执行操作 } }楼主不要上来就发问,多看看控件的方法、属性介绍,省时省心,比你发问要容易,实在搞不出来时再发问也不迟呀。 我还是没有看懂什么是“批量修改”。如果是这样:第一个页面只是选择,转入第二个页面只是在普通显示模板内给出一堆TextBox、CheckBox之类可输入控件,然后第二个页面点“确定”之后重新转入第一个显示页面。那么这个并不涉及ListView本身已经设计好的在单一页面上进行编辑的功能,只是你自己另外搞成多个页面切换的asp风格程序了。 sorry,我还以为在asp.net论坛!winform实在是太简单了,懒得回。 在ContextMenuStrip的Opening事件中检查listview是否有选中项弹出窗体,通过构造函数等传值委托实现父窗体数据更新 这个问题该怎么解决,请赐教 c# 通过数据库方式 读取 excel 数据修改后,如何把修改后的数据保存到这个excel 这样的界面如何切换 C#怎么在运行时动态创建类 求助,如何读取正在使用的文件 使用RichTextBox控件,如何控制它的翻页操作? 沉痛大放血 100 分 求:C# 中 MessageBox 的字符串换行 感谢xpiao大哥,散1000分![第九帖] 怎样获取对端服务器的IP地址? 请问一个小问题!谢谢! 【续dgv读取xml的问题】固定格式的dgv(含combobox,checkbox列)如何顺利显示! 如何知道DataGridView事件是鼠标点击触发?
先说传值
在子窗体构建时将主窗体传进来。
ParentFrm pfrm;
public ChildFrm(ParentFrm p)//传进父窗体
{
pfrm=p;
}
主窗体调用时将自身传进去
class ParentFrm
{
void OpenNewFrm()
{
new ChildFrm(this).Show();
}
}
这样子窗体就可以调用父窗体中的public方法、属性等。
void ChangeValue()
{
//以下注释中的方法是在虚模式中的实现
//List<ListViewItem> lvis = new List<ListViewItem>();//用于保存被选择的泛型数组
//for (int i = 0; i < listView1.Items.Count; i++)
//{
// if (listView1.Items[i].Checked)
// lvis.Add(listView1.Items[i]);//如果项被选择,则添加到lvis中
//}
//获得所有被选择的项
ListView.CheckedListViewItemCollection clic = new ListView.CheckedListViewItemCollection(listView1);
foreach (ListViewItem lvi in clic)
{
//执行操作
}
}
楼主不要上来就发问,多看看控件的方法、属性介绍,省时省心,比你发问要容易,实在搞不出来时再发问也不迟呀。
弹出窗体,通过构造函数等传值
委托实现父窗体数据更新