找回密码
 立即注册

QQ登录

只需一步,快速开始

iceman
社区贡献组   /  发表于:2015-1-22 18:10:00
11#
回复 10楼qd98zhq的帖子

目前 Spread 不具备自动同步更改到数据库的功能,需要手动写 SQL 修改数据库。单元格修改信息可以通过 SheetView 下的 ValueChanged 事件来获取。
回复 使用道具 举报
qd98zhq
论坛元老   /  发表于:2015-1-23 11:14:00
12#
其实我想说的不是自动同步到数据库表,只是同步到绑定dt的内存表中而以。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-1-23 11:47:00
13#
回复 12楼qd98zhq的帖子

同样需要手动同步,代码如下:

  1.         public MainWindow()
  2.         {
  3.             InitializeComponent();

  4.             System.Data.DataRow dr = default(System.Data.DataRow);
  5.             dt.Columns.Add("Series0");
  6.             dt.Columns.Add("Series1");
  7.             dr = dt.NewRow();
  8.             dr[0] = 2;
  9.             dr[1] = 1;
  10.             dt.Rows.Add(dr);
  11.             dr = dt.NewRow();
  12.             dr[0] = 4;
  13.             dr[1] = 2;
  14.             dt.Rows.Add(dr);
  15.             dr = dt.NewRow();
  16.             dr[0] = 3;
  17.             dr[1] = 4;
  18.             gcSpreadSheet1.Sheets[0].AutoGenerateColumns = true;
  19.             gcSpreadSheet1.Sheets[0].DataSource = dt;
  20.             gcSpreadSheet1.Invalidate();

  21.             gcSpreadSheet1.Sheets[0].CellChanged += MainWindow_CellChanged;

  22.         }

  23.         void MainWindow_CellChanged(object sender, GrapeCity.Windows.SpreadSheet.Data.CellChangedEventArgs e)
  24.         {
  25.             string text = this.gcSpreadSheet1.Sheets[0].Cells[e.Row, e.Column].Text;
  26.             dt.Rows[e.Row][e.Column] = text;
  27.         }

  28.         private void Button_Click(object sender, RoutedEventArgs e)
  29.         {
  30.             gcSpreadSheet1.Sheets[0].ReloadBindingData();
  31.             gcSpreadSheet1.Invalidate();
  32.         }
复制代码
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部