【提问】WPF的DataGrid添加删除操作问题

问题描述

最近在学习WPF,做了界面,不知道怎么发图。。。。我只能把基本界面内容描述一下:在一个页面Page上,添加一个DataGrid控件,用来显示文件名、文件大小、文件路径另外有3个Button命令,选择文件、删除文件、发送。点击选择文件,会弹出文件浏览选择框,选择要发送的文件删除文件,删除Datagrid中的一条记录发送,发送文件到目的地。代码如下:publicpartialclassFileSendPage:Page{staticstringsendname;List<FileCommon>FileList=newList<FileCommon>();//用来绑定到Datagrid上的数据源publicFileSendPage(){InitializeComponent();}//选择文件privatevoidbtnAdd_Click(objectsender,RoutedEventArgse){FileCommonfc=newFileCommon();//文件类:包括文件名、文件类型、文件大小、文件路径4个字段fc=DataService.SelectFile();//该方法实现选择文件,并将文件的信息放入fc中if(fc.TextName!=""){FileList.Add(fc);BindToDG();}}//删除选中文件privatevoidbtnDelete_Click(objectsender,RoutedEventArgse){FileCommonfc=newFileCommon();fc=dgFile.SelectedItemasFileCommon;dgFile.SelectedItems.Clear();}//绑定DataGrid的数据源voidBindToDG(){if(FileList.Count!=0){dgFile.ItemsSource=FileList;}}}

程序运行后,第一次点击选中文件后,选中的文件显示在DataGrid中了,再次点击选中文件,DataGrid没有任何变化,还是只有第一次的文件记录。我设断点调试,FileList中明明已经有两条,但是DataGrid只显示一条。单击删除文件,也没有反应。。。请各位帮我看一下是什么原因,谢谢!

解决方案

解决方案二:
List没有实现INotifyCollectionChanged接口,绑定集合一般用System.Collections.ObjectModel.ObservableCollection<T>
解决方案三:
引用1楼的回复:

List没有实现INotifyCollectionChanged接口,绑定集合一般用System.Collections.ObjectModel.ObservableCollection<T>

我其他的地方也是直接用的list,可是没有出现问题。。。。

时间: 2024-10-03 08:46:25

【提问】WPF的DataGrid添加删除操作问题的相关文章

对Datagrid添加删除确认的脚本

datagrid|脚本 private void dgTeam_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { if(e.Item.ItemType==ListItemType.AlternatingItem || e.Item.ItemType==ListItemType.Item) { LinkButton btnLinkDelete=(LinkButton)e.Item.Ce

winfor中在treeview操作XML节点添加删除操作问题 求助!!!

问题描述 //删除节点按钮privatevoidbutton3_Click(objectsender,EventArgse){try{TreeNodeactiveNode=treeView1.SelectedNode;if(activeNode==null){return;}#region删除当前选择的节点XmlNodexmlNode=activeNode.TagasXmlNode;XmlNodeparentNode=xmlNode.ParentNode;if(parentNode==null)

php版微信实现公众号菜单添加删除操作

为了以最快方式调试新菜单功能,就用Debug方式去生成新菜单.请参数微信教程2的 wechat-json类.导入该文件后,我们用Debug方式生成一个新菜单: if (isset($argc)  && $argc >= 1 && $argv[0] == __FILE__) {     $client = new WechatJSON(array(         WechatJSON::APP_ID => 'wx78acfe8023sfsd4d51',     

JQuery EasyUI学习教程之datagrid 添加、修改、删除操作_jquery

一篇关于JQueryEasyUI学习之datagrid 添加.修改.删除 学习笔记教程有需要了解的朋友可参考本的笔记,批量删除,双击表单修改.选中行修改,增加行修改,再有就是扩展editor的方法,无需废话,直接上代码,代码中的注释写的很详细 <script type="text/javascript" charst="utf-8">var editFlag = undefined;//设置一个编辑标记 //因为layout框架指向href时,只取htm

EF code first 实体类修改、添加、删除操作问题

问题描述 EF code first 实体类修改.添加.删除操作问题 EF code First 怎么来更新已存在的数据库结构? 比如:在实体类中我新添加了一个字段.修改字段名称或者类型.删除一个字段 等操作后我怎么更新到已存在的数据库对于表中去. 担心:我在持续开发中,改变了数据库的结构,如果这时候用户已经用以前的版本创建好数据库并且有了许多数据,假使我的修改只增加了一个表的一个可空列.而为此我只能重新创建数据库.请问有没有别的办法,能够把新的数据库结构在不损伤数据的情况下更新到部署好的环境中

asp批量添加修改删除操作示例代码

核心代码: <title>asp批量添加修改删除操作示例</title> <% if request.Form("op")="update" then'表单提交 ids=request.Form("ids") if ids<>"" then response.Write "要删除的数据id集合:"&ids&"<br>"

给jqGrid数据行添加修改和删除操作链接

我这里用的不是jqGrid的自带的编辑和删除操作,我已经把分页导航栏下的编辑,删除,搜索都取消掉了,就是这句$("#list1").navGrid("#pager1",{edit:false,del:false, search:false}), 然后在数据加载完成后,给每行添加了 修改和删除链接 jqGrid完成的事件是gridComplete:function(){}(可以理解为数据都准备好了), 因为从数据库获取到的json数据没有带修改和删除两项,所以在之后的

求解java中的 二维数组添加 删除 修改 查询 操作

问题描述 二维数组添加删除修改查询操作如何实现?不用传统数组用List()做一个通讯录用字符串输入的方式编写一个简单的通讯录.此通讯录由多条记录构成.每条记录包括一个联系人的姓名.性别.电话.通信地址,并具有查询.增加.修改.删除等功能,且每执行一次功能操作后,可以选择用类似以下的格式,输出通讯录的所有信息记录: 解决方案 解决方案二:這不是二維數組.用Map來做更合適,先定義一個個人資料的類,然後放到Map時用ID當KEY.解决方案三:我用List做

给jqGrid数据行添加修改和删除操作链接(之一)_jquery

我这里用的不是jqGrid的自带的编辑和删除操作,我已经把分页导航栏下的编辑,删除,搜索都取消掉了,就是这句$("#list1").navGrid("#pager1",{edit:false,del:false, search:false}), 然后在数据加载完成后,给每行添加了 修改和删除链接 jqGrid完成的事件是gridComplete:function(){}(可以理解为数据都准备好了), 因为从数据库获取到的json数据没有带修改和删除两项,所以在之后的