有个listView1
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count != 0)
//这里的代码功能是不让listView1_SelectedIndexChanged触发,但是不要修改listView1_SelectedIndexChanged事件,
//该事件已经在其它地方绑定了执行方法。
}
如何做到?
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count != 0)
//这里的代码功能是不让listView1_SelectedIndexChanged触发,但是不要修改listView1_SelectedIndexChanged事件,
//该事件已经在其它地方绑定了执行方法。
}
如何做到?
解决方案 »
- 组合框设定datasource与datatable关联了,如何控制组合框的当前项显示呢?
- uml学习--高手推荐下学习uml的好书或者视频
- 如何设置datagridview控件的行高度
- C#,winform,非主窗体,关闭,进程
- C#中" 并非所有的代码路径都返回值"请问这是什么错误啊? 急求,请大虾帮不弟看看
- 请教C#操作数据库的事务问题
- datagrid中新增加一个编辑行,,当光标离开gatagrid时,如何将该编辑行存到邦定的数据源中
- help,怎样使用RangeValidator验证一个绑定的数据
- C#怎样批量改变TextBox的值!
- C#如何获得DATAGRID模板列里的TEXTBOX呢
- c#连接oracle存储过程问题 对象名无效
- OWC
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)
http://feiyun0112.cnblogs.com/
//一:每次选择listView1中的每一项时都是出现Not found提示,为什么?
//二:第一次点击listView1中的一项时只出现一次提示,再点击另一项时会出现两次提示,即引发了两次Example_SelectedindexChanged事件,为什么?
//有位达人告诉我这是 listView1机制,让我用listView1.SelectedItems.Count == 0判断,再引发change事件。我不知道这样写对不对。但是return
//好像没效果。 所有代码都贴出来了 。谢谢using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using System.Data.SqlClient;
using System.IO;namespace xml_ADO.net
{
public partial class Form1 : Form
{
private XmlDocument doc = new XmlDocument();
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
listView1.SelectedIndexChanged += new EventHandler(Example_SelectedindexChanged );
DataSet ds = new DataSet("XMLAuthors");
SqlConnection conn = new SqlConnection("server=(local); integrated security=SSPI;database=Northwind");
SqlDataAdapter da = new SqlDataAdapter("select * from categories ",conn );
MemoryStream memstrm = new MemoryStream();
StreamReader strmRead = new StreamReader(memstrm );
StreamWriter strmWrite = new StreamWriter(memstrm );
da.Fill(ds,"Authors");
dataGridView1.DataSource = ds.Tables[0];
ds.WriteXml(strmWrite ,XmlWriteMode.IgnoreSchema );
memstrm.Seek(0, SeekOrigin.Begin);
doc.Load(strmRead);
doc.Save("mm.xml");
XmlNodeList nodelst = doc.SelectNodes("//CategoryName");
foreach (XmlNode nd in nodelst)
listView1.Items.Add(nd.InnerText );
}
private void Example_SelectedindexChanged(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count == 0)
{
string srch = "XMLAuthors/Authors[CategoryName= '" + listView1.SelectedItems[0].ToString() + "'" + "]";
XmlNode foundNode = doc.SelectSingleNode(srch);
if (foundNode != null)
MessageBox.Show(foundNode.OuterXml);
else
MessageBox.Show("Not found"); }
} private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
}
private void Example_SelectedindexChanged(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count>0 && listView1.SelectedItems[0].Index != iLastSelectIndex)
{
iLastSelectIndex = listView1.SelectedItems[0].Index;
string srch = "XMLAuthors/Authors[CategoryName= '" + listView1.SelectedItems[0].ToString() + "'" + "]";
XmlNode foundNode = doc.SelectSingleNode(srch);
if (foundNode != null)
MessageBox.Show(foundNode.OuterXml);
else
MessageBox.Show("Not found"); }
}
用jsfunction checklistView1_Selected()
{
var drop = document.getElementById('listView1'); if(drop.selectedIndex == 0)
{
return false;
}
else
{
return true;
}
}
后台load事件里面添加listView1.Attritubes.Add("onchange"," return checklistView1()");