找回密码
 立即注册

QQ登录

只需一步,快速开始

fsr

注册会员

12

主题

26

帖子

172

积分

注册会员

积分
172

微信认证勋章

fsr
注册会员   /  发表于:2016-5-20 15:57  /   查看:4577  /  回复:4
给FpSpread控件动态添加了列,给这一列录入值,如何获取值?
blob430526427.png

4 个回复

倒序浏览
fsr
注册会员   /  发表于:2016-5-20 16:10:11
沙发
意思就是老师姓名这一列是动态添加的,我给这一列录入数据如何获取它的值
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-5-20 16:13:57
板凳
如果其他列数据是绑定的,那么这列数据也绑定,然后getdatasource就好了。

不想绑定的话,可以循环获取单元格的值,或者使用GetArray 获取一个二维数组
  1.             FarPoint.Web.Spread.Model.DefaultSheetDataModel dm = (FarPoint.Web.Spread.Model.DefaultSheetDataModel)FpSpread1.ActiveSheetView.DataModel;
  2.             object[,] arr;
  3.             arr = dm.GetArray(0, 0, 2, 2);
复制代码
回复 使用道具 举报
fsr
注册会员   /  发表于:2016-5-20 16:19:47
地板
我这样为什么获取不到呢
SqlConnection myConn = new SqlConnection("Data Source=.;Initial Catalog=Weibo;User ID=saassword='sinorich';");
        SheetView _sv;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //绑定数据
                showdata();
               
                //设置行为只读
                _sv = FpSpread1.Sheets[0];
                _sv.AddColumns(6, 1);
                _sv.Columns[6].Label = "老师姓名";

            }
         
            FarPoint.Web.Spread.DateTimeCellType datecell = new FarPoint.Web.Spread.DateTimeCellType();
            //datecell.MaximumValue = new System.DateTime(2050, 12, 31, 0, 0, 0, 0);
            //datecell.MinimumValue = new System.DateTime(2001, 1, 1, 0, 0, 0, 0);

            //this.FpSpread1.ActiveSheetView.Columns[1, 2].CellType = datecell;
            //FpSpread1.ActiveSheetView.Protect = true;
            FpSpread1.ActiveSheetView.Columns[0, 5].Locked = true;
        }
        /// <summary>
        /// 绑定数据
        /// </summary>
        public void showdata()
        {
            string strCom = "select a.S#, a.Sname, a.Sage, a.Ssex,b.name,b.score from   Student as a join SC as b  on a.S#=b.S#  where b.name!='' ";
            //创建一个 DataSet对象
            DataSet myDataSet = new DataSet();
            myConn.Open();
            SqlDataAdapter myCommand = new SqlDataAdapter(strCom, myConn);
            myCommand.Fill(myDataSet);
            this.FpSpread1.DataSource = myDataSet;
            myConn.Close();

        }

        protected void Button2_Click(object sender, EventArgs e)
        {
            
            var cmd = new SqlCommand();
            myConn.Open();
            cmd.Connection = myConn;
            _sv = FpSpread1.Sheets[0];
            var colcount = _sv.ColumnCount;
            var currow = _sv.ActiveRow;//当前活跃的行索引;
            string sqlInsert = "insert into Teacher (Tname,S#) values(@Tname,@S#)";
            if (FpSpread1.ActiveSheetView.Rows.Count > 0)
            {
                for (int i = 0; i < FpSpread1.ActiveSheetView.Rows.Count; i++)
                {

                    for (var j = colcount-1; j >= 0; j--)
                    {
                     
                        SqlParameter[] parameters = new SqlParameter[2]
                        {
                          new SqlParameter("@Tname", SqlDbType.VarChar, 40),
                          new SqlParameter("@S#", SqlDbType.VarChar, 40),
                          
                        };
                        parameters[0] = new SqlParameter("@Tname", _sv.Cells[currow, j].Value);
                        parameters[1] = new SqlParameter("@S#", _sv.Cells[currow, 0].Value);
                        cmd.Parameters.Add(parameters);
                        break;
                    }

                    cmd.CommandText = sqlInsert.ToString();
                    var count = 0;
                    try
                    {
                        count = cmd.ExecuteNonQuery();
                    }
                    catch (Exception)
                    {

                        throw;
                    }
                    finally
                    {
                        if (count >= 1)
                        {
                            Response.Write("<script>alert('添加成功');</script>");
                        }
                    }

                }
                myConn.Close();
            }
        }
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-5-20 17:00:20
5#
您页面输入完数据后需要点页面下面对号 进行提交,这样服务端才能获取到输入的数据。

如果您不希望用户点击提交,可以在button上加上事件自动提交。
你可以参考下之前帖子
http://gcdn.gcpowertools.com.cn/ ... hread&tid=14933

http://gcdn.gcpowertools.com.cn/ ... hread&tid=18714
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部