listview 更新 在listview上双击弹出一个窗体,在弹出的这个窗体可以显示listview行的信息,并可以对这些数据进行修改和删除,怎么让我在窗体上修改了之后,立刻在listview上显示呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 listview绑定一个数据源你在弹出的窗体操作修改和删除后,更新这个数据源listview也会同步更新的 private void listView1_DoubleClick(object sender, System.EventArgs e) { ListViewItem item=listView1.SelectedItems[0]; } this.lvProduct.BeginUpdate(); this.lvProduct.Clear(); //list = ServiceHelper.GetAllProducts(); this.lvProduct.Columns.Add("ID", 40, HorizontalAlignment.Center); this.lvProduct.Columns.Add("用品名称", 80, HorizontalAlignment.Center); this.lvProduct.Columns.Add("品牌分类", 80, HorizontalAlignment.Center); this.lvProduct.Columns.Add("生命阶段", 80, HorizontalAlignment.Center); this.lvProduct.Columns.Add("产地", 80, HorizontalAlignment.Center); this.lvProduct.Columns.Add("乐宠货号", 80, HorizontalAlignment.Center); this.lvProduct.Columns.Add("价格", 80, HorizontalAlignment.Center); this.lvProduct.Columns.Add("体型", 80, HorizontalAlignment.Center); foreach (ProductManagementService.ProductInfo pinfo in list) { ListViewItem item = new ListViewItem(); item.Text = pinfo.Id.ToString(); item.SubItems.Add(pinfo.Name.ToString()); //所属品牌 int bid = Convert.ToInt32(pinfo.BrandId); ProductManagementService.BrandInfo binfo = ser.GetBrandModel(bid); if (binfo != null) { item.SubItems.Add(binfo.Name.ToString()); } else { item.SubItems.Add(string.Empty); } //生命阶段 //产地 int did = Convert.ToInt32(pinfo.LifeStageId); //ProductManagementService.DictionaryInfo dinfo = ser.GetDictionarysModel(did); ProductManagementService.DictionaryInfo dinfo = ServiceHelper.GetDictionaryInfo(did); if (dinfo != null) { item.SubItems.Add(dinfo.Name); } else { item.SubItems.Add(string.Empty); item.SubItems.Add(string.Empty); } int dictid = Convert.ToInt32(pinfo.ProducingArea); //ProductManagementService.DictionaryInfo dictinfo = ser.GetDictionarysModel(dictid); ProductManagementService.DictionaryInfo dictinfo = ServiceHelper.GetDictionaryInfo(dictid); if (dictinfo != null) { item.SubItems.Add(dictinfo.Name); } else { item.SubItems.Add(string.Empty); item.SubItems.Add(string.Empty); } item.SubItems.Add(pinfo.LeepetSN.ToString()); item.SubItems.Add(pinfo.Price.ToString()); //item.SubItems.Add(pinfo.BodyType.ToString()); int dicid = Convert.ToInt32(pinfo.BodyType); //ProductManagementService.DictionaryInfo dicinfo = ser.GetDictionarysModel(dicid); ProductManagementService.DictionaryInfo dicinfo = ServiceHelper.GetDictionaryInfo(dicid); if (dicinfo != null) { item.SubItems.Add(dicinfo.Name.ToString()); } lvProduct.Items.Add(item); } lvProduct.GridLines = true; lvProduct.View = View.Details; lvProduct.EndUpdate(); if(this.listview.selecteditems.count>0{int id =convert.toint32(listview.items[0].subitems[0].tostring());}上面可以获取到你选中的listview的项的id 根据这个id可以传递给你的第二个窗体 然后进行一些里操作,上面那个是绑定数据源,你没修改一次 调用那个方法一下 它就会重新绑定数据源一次 没有那么麻烦吧,建议你看一下窗体传值方面的代码把ListView对像作为参数传给子窗体,然后在子窗体中就可以直接更新父窗体中的数据了 将.listView1 的Modifiers 设置为public//在form1中 private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(); frm.form1 = this; frm.Show(); }//form2中public Form1 form1;private void button1_Click(object sender, EventArgs e){ form1.listView1.Items.Add(....);//这里就可以就listview操作了} 提高.net运行的速度的方法!大家一起 交流一下 json转dataset问题 asp.net制作网站中如何定义类?为什么要定义类?急!!! 关于开线程的问题 主窗口与子窗口的焦点问题 请问打包时怎么指定自定义文件夹在目标计算机上的安装路径 如何设置不让hashtable表中的元素排序? 根据用户输入的用户ID和用户密码登录会议室系统 C#图像提取 急需解决的picturebox问题 高手们谁能取得这个网站验证码,用winform形式 c# graphic 去掉矩形填充色
listview也会同步更新的
{
ListViewItem item=listView1.SelectedItems[0];
}
this.lvProduct.Clear();
//list = ServiceHelper.GetAllProducts();
this.lvProduct.Columns.Add("ID", 40, HorizontalAlignment.Center);
this.lvProduct.Columns.Add("用品名称", 80, HorizontalAlignment.Center);
this.lvProduct.Columns.Add("品牌分类", 80, HorizontalAlignment.Center);
this.lvProduct.Columns.Add("生命阶段", 80, HorizontalAlignment.Center);
this.lvProduct.Columns.Add("产地", 80, HorizontalAlignment.Center);
this.lvProduct.Columns.Add("乐宠货号", 80, HorizontalAlignment.Center);
this.lvProduct.Columns.Add("价格", 80, HorizontalAlignment.Center);
this.lvProduct.Columns.Add("体型", 80, HorizontalAlignment.Center);
foreach (ProductManagementService.ProductInfo pinfo in list)
{
ListViewItem item = new ListViewItem();
item.Text = pinfo.Id.ToString();
item.SubItems.Add(pinfo.Name.ToString());
//所属品牌
int bid = Convert.ToInt32(pinfo.BrandId);
ProductManagementService.BrandInfo binfo = ser.GetBrandModel(bid);
if (binfo != null)
{
item.SubItems.Add(binfo.Name.ToString());
}
else { item.SubItems.Add(string.Empty); }
//生命阶段
//产地
int did = Convert.ToInt32(pinfo.LifeStageId);
//ProductManagementService.DictionaryInfo dinfo = ser.GetDictionarysModel(did);
ProductManagementService.DictionaryInfo dinfo = ServiceHelper.GetDictionaryInfo(did);
if (dinfo != null)
{
item.SubItems.Add(dinfo.Name);
}
else
{
item.SubItems.Add(string.Empty);
item.SubItems.Add(string.Empty);
}
int dictid = Convert.ToInt32(pinfo.ProducingArea);
//ProductManagementService.DictionaryInfo dictinfo = ser.GetDictionarysModel(dictid);
ProductManagementService.DictionaryInfo dictinfo = ServiceHelper.GetDictionaryInfo(dictid);
if (dictinfo != null)
{
item.SubItems.Add(dictinfo.Name);
}
else
{
item.SubItems.Add(string.Empty);
item.SubItems.Add(string.Empty);
}
item.SubItems.Add(pinfo.LeepetSN.ToString());
item.SubItems.Add(pinfo.Price.ToString());
//item.SubItems.Add(pinfo.BodyType.ToString());
int dicid = Convert.ToInt32(pinfo.BodyType);
//ProductManagementService.DictionaryInfo dicinfo = ser.GetDictionarysModel(dicid);
ProductManagementService.DictionaryInfo dicinfo = ServiceHelper.GetDictionaryInfo(dicid);
if (dicinfo != null)
{
item.SubItems.Add(dicinfo.Name.ToString());
} lvProduct.Items.Add(item);
} lvProduct.GridLines = true;
lvProduct.View = View.Details;
lvProduct.EndUpdate();
if(this.listview.selecteditems.count>0{
int id =convert.toint32(listview.items[0].subitems[0].tostring());
}
上面可以获取到你选中的listview的项的id 根据这个id可以传递给你的第二个窗体 然后进行一些里操作,上面那个是绑定数据源,你没修改一次 调用那个方法一下 它就会重新绑定数据源一次
把ListView对像作为参数传给子窗体,然后在子窗体中就可以直接更新父窗体中的数据了
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm.form1 = this;
frm.Show();
}//form2中
public Form1 form1;
private void button1_Click(object sender, EventArgs e)
{
form1.listView1.Items.Add(....);//这里就可以就listview操作了
}