当前位置: 代码迷 >> Silverlight >> DataGrid怎么点击外面一个按钮,给他加一条可编辑行
  详细解决方案

DataGrid怎么点击外面一个按钮,给他加一条可编辑行

热度:2072   发布时间:2013-02-26 00:00:00.0
DataGrid如何点击外面一个按钮,给他加一条可编辑行
比如 我点击添加按钮,那么DataGrid下面就添加一行,然后里面可以输入值,在点击保存就保存到数据库,这个怎么做?
datagrid 数据库

------解决方案--------------------------------------------------------
貌似这个问题,我前些日子在论坛里给别人回答过...

那就用ObservableCollection 就可以了
using System.Collections.ObjectModel;

   public partial class SilverlightControl1 : UserControl
    {
      
        ObservableCollection<User> collect = new ObservableCollection<User>();
        public SilverlightControl1()
        {
            InitializeComponent();
            User user1 = new User() { UserName = "张三", Hobby = "玩Dota" };
            User user2 = new User() { UserName = "李四", Hobby = "看人玩Dota" };
          
            collect.Add(user1);
            collect.Add(user2);
            mydg.ItemsSource = collect;
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            collect.Add(new User() { UserName = "", Hobby = "" });
        }
    }

   public class User
    {
        public string UserName { get; set; }
        public string Hobby { get; set; }
    }


原理如上所示,ObservableCollection  绑定可以实现 ,操作完毕利用集合中的数据写入数据库
------解决方案--------------------------------------------------------
1: DataGrid绑定的数据集合必须是实现了INotifyCollectionChanged的。
2: 添加按钮直接往被绑定的数据集合中add一条。
3:ScrollIntoView方法滚动到新添加的那条数据上的第一个单元格上
4:用BeginEdit来启用编辑。

前提,你的实体类最好实现IPropertyNotify接口,并为各个属性添加了验证数据合法性的约束(如[Require],[StringLength]等)
  相关解决方案