aspxgridview中控件信息完全获取以及下拉列表数据绑定-超级极品

        protected void ASPxButton_jr_xqbm_Click(object sender, EventArgs e)
        {
            //ASPxButton_jr_xqbm 是独立于aspxgridview外的命令按钮,与 aspxgridview平级
            //ASPxComboBox_jrxq ASPxComboBox_jrbm
            admin_user gly = (admin_user)ViewState["dngly068"];
            if(ASPxComboBox_jrxq.Value==null || ASPxComboBox_jrbm.Value==null)
            {
                this.ASPxLabel_tytsxx.Text = "提示:学校校区或部门不能为空,请选择!";
                ASPxPopupControl_tytsxx.ShowOnPageLoad = true;
                return;
            }
            string xq = ASPxComboBox_jrxq.SelectedItem.Text;
            string bm = ASPxComboBox_jrbm.SelectedItem.Text;
            var cx_xqbm = (from aa in sjklj.部门
                           where aa.dwid == gly.dwid && aa.校区名称 == xq && aa.部门名称 == bm
                           select aa).FirstOrDefault();
            if(cx_xqbm!=null)
            {
                this.ASPxLabel_tytsxx.Text = "提示:学校该校区和部门已经存在,不能重复添加!";
                ASPxPopupControl_tytsxx.ShowOnPageLoad = true;
                return;
            }
            部门 tj_bm = new 部门
            {
                dwid = gly.dwid,
                校区名称 = xq,
                部门名称 = bm
            };
            sjklj.部门.AddObject(tj_bm);
            sjklj.SaveChanges();
            /*每次都显示该弹窗,体验不行
            this.ASPxLabel_tytsxx.Text = "提示:学校该校区和部门添加成功!";
            ASPxPopupControl_tytsxx.ShowOnPageLoad = true;
            */
            //刷新
            var gx_xqbm = from aa in sjklj.部门
                          where aa.dwid == gly.dwid
                          select aa;
            this.ASPxGridView_bmxq.DataSource = gx_xqbm;
            this.ASPxGridView_bmxq.DataBind();
        }

        protected void ASPxGridView_bmxq_HtmlRowPrepared(object sender, ASPxGridViewTableRowEventArgs e)
        {
            try
            {
                //初始化绑定校区和部门 ASPxComboBox_xqbm_xq ASPxComboBox_xqbm_bm
                admin_user gly = (admin_user)ViewState["dngly068"];
                // ASPxComboBox cbx_xq = (ASPxComboBox)e.Row.FindControl("ASPxComboBox_xqbm_xq");无法获取该控件
                //绑定校区列表
                ASPxComboBox cbx_xq = (ASPxComboBox)ASPxGridView_bmxq.FindRowCellTemplateControl(e.VisibleIndex, null, "ASPxComboBox_xqbm_xq");
                var cx_xqlb = from aa in sjklj.校区
                              where aa.dwid == gly.dwid
                              select aa;
                cbx_xq.DataSource = cx_xqlb;
                cbx_xq.TextField = "校区名称";
                cbx_xq.ValueField = "校区名称";
                cbx_xq.DataBind();
                cbx_xq.Value = (string)e.GetValue("校区名称");
                cbx_xq.Text = (string)e.GetValue("校区名称");

                ASPxComboBox cbx_bm = (ASPxComboBox)ASPxGridView_bmxq.FindRowCellTemplateControl(e.VisibleIndex,null,"ASPxComboBox_xqbm_bm");
                //绑定部门列表
                var cx_bmlb = from aa in sjklj.单位部门
                              where aa.dwid == gly.dwid
                              select aa;
                cbx_bm.DataSource = cx_bmlb;
                cbx_bm.TextField = "部门名称";
                cbx_bm.ValueField = "部门名称";
                cbx_bm.DataBind();
                cbx_bm.Value = (string)e.GetValue("部门名称");
                cbx_bm.Text = (string)e.GetValue("部门名称");
            }
            catch
            {

            }
        }

        protected void ASPxButton_xqbm_gx_Click(object sender, EventArgs e)
        {
            // ASPxGridView_bmxq (ASPxComboBox_xqbm_xq  ASPxComboBox_xqbm_bm 是aspxgridview中dataitemplete下的下拉列表控件
            // ASPxButton_xqbm_gx 是aspxgridview中dataitemplete下的命令按钮
            admin_user gly = (admin_user)ViewState["dngly068"];
            ASPxButton btn = sender as ASPxButton;
            if(btn!=null)
            {
                //获取上一级容易数据模板行
                GridViewDataItemTemplateContainer container = btn.NamingContainer as GridViewDataItemTemplateContainer;
                if(container!=null)
                {
                    int rowsy = container.VisibleIndex;//行可视化索引
                    int id = int.Parse(container.KeyValue.ToString());//主键
                    //找到关于校区和部门的下拉列表
                    ASPxComboBox cbx_xq = (ASPxComboBox)ASPxGridView_bmxq.FindRowCellTemplateControl(rowsy, null, "ASPxComboBox_xqbm_xq");
                    ASPxComboBox cbx_bm = (ASPxComboBox)ASPxGridView_bmxq.FindRowCellTemplateControl(rowsy, null, "ASPxComboBox_xqbm_bm");
                    string xq = cbx_xq.Text;//cbx_xq.SelectedItem.Text;出错,
                    string bm = cbx_bm.Text;//选中项校区,部门,可能已经变更
                    //查找是否已经存在,不能修改为已经存在的校区和部门
                    var cx_xqbm = (from aa in sjklj.部门
                                  where aa.dwid == gly.dwid && aa.校区名称 == xq && aa.部门名称 == bm
                                  select aa).FirstOrDefault();
                    if(cx_xqbm!=null)//已经有该部门和校区或者没有修改
                    {
                        this.ASPxLabel_tytsxx.Text = "提示:学校该校区和部门已经存在,或者对当前的部门和校区没有做任何改动!";
                        ASPxPopupControl_tytsxx.ShowOnPageLoad = true;
                        return;
                    }
                    //更新当前行
                    sjklj.部门.Where(aa => aa.ID == id).First().校区名称 = xq;
                    sjklj.部门.Where(aa => aa.ID == id).First().部门名称 = bm;
                    sjklj.SaveChanges();
                    //刷新
                    var gx_xqbm = from aa in sjklj.部门
                                  where aa.dwid == gly.dwid
                                  select aa;
                    this.ASPxGridView_bmxq.DataSource = gx_xqbm;
                    this.ASPxGridView_bmxq.DataBind();
                    this.ASPxLabel_tytsxx.Text = "提示:对当前的部门和校区更新成功!";
                    ASPxPopupControl_tytsxx.ShowOnPageLoad = true;
                    return;
                }
            }
        }

渝公网安备 50011902000225号

渝ICP备18008233号-1