找回密码
 立即注册

QQ登录

只需一步,快速开始

xxwood

初级会员

35

主题

81

帖子

240

积分

初级会员

积分
240

活字格认证

xxwood
初级会员   /  发表于:2022-6-28 18:18  /   查看:3259  /  回复:6
1金币
本帖最后由 xxwood 于 2022-6-28 18:21 编辑

可能是oracle安装的有点问题,导致VS2019的SQLDataSource控件无法使用,只好用DataTable当数据源了。
现在数据能读出来,但是显然Update按钮是不能用了,只好自己写。但是怎么获取编辑了哪些单元格或者那些行呢?这样我就可以只Update编辑了的那几行。毕竟如果数据多的话,不可能从头到尾Update一遍。

最佳答案

查看完整内容

点击对号,就是update,可以触发updatecommand,

6 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-28 18:18:46
来自 7#
image.png782863464.png

点击对号,就是update,可以触发updatecommand,
回复 使用道具 举报
xxwood
初级会员   /  发表于:2022-6-28 18:21:17
2#
本帖最后由 xxwood 于 2022-6-28 18:22 编辑

。。。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-28 18:31:38
3#
datatable的Row有RowState属性,通过dt.GetChanges也能获取到更改的所有行

这个你可以试一下是不是要在Update按钮点击后才会有更改
回复 使用道具 举报
xxwood
初级会员   /  发表于:2022-6-30 11:23:22
4#
protected void Page_Load(object sender, EventArgs e)
        {
            OracleConnection conn = new OracleConnection(connstr);
            conn.Open();
            OracleCommand cmd = conn.CreateCommand();
            cmd.CommandText = "select * from aa";
            OracleDataAdapter da = new OracleDataAdapter();
            da.SelectCommand = cmd;
            DataTable dt = new DataTable();
            da.Fill(dt);
            FpSpread1.DataSource = dt;
            FpSpread1.DataBind();
        }

这是我读数据的代码。Update的代码应该是写在一个按钮的click事件里吧?关键点就在如何获取到底编辑了那几行,能给段代码吗??
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-30 12:34:24
5#
更新按钮是控件自带的,你编辑后点击更新按钮,数据才会提交
image.png984863586.png
回复 使用道具 举报
xxwood
初级会员   /  发表于:2022-7-1 09:52:16
6#
是写在UpdateCommand事件里吗??
protected void FpSpread1_UpdateCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
        {
             可是这里咋写啊?我试了一下这里的代码怎么都不执行啊,为啥啊?
        }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部