国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

用代碼創(chuàng)建DataGrid的多鏈接及checkbox事件響應(yīng)

2024-07-21 02:29:15
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  本例用代碼實(shí)現(xiàn)了創(chuàng)建datagrid并響應(yīng)了checkbox事件,并實(shí)現(xiàn)了超鏈接列的多變量傳送。

  創(chuàng)建一個(gè)前臺(tái)頁(yè)面

createdatagrid.aspx:

  在form中添加一個(gè)plcaeholder,id為"ph",runat="server"

  后臺(tái)頁(yè)面

createdatagrid.aspx.cs

    public class createdatagrid : system.web.ui.page
    {
        public string sql = "select firstname,lastname,homephone,title from employees";
        public datagrid mygrid = new datagrid();
        protected system.web.ui.webcontrols.placeholder ph;
        public string sortexpression;
        private void page_load(object sender, system.eventargs e)
        {
              //createdatagridform.controls.add(makegrid());
           
            this.ph.controls.add(makegrid());
        }
//        protected override void createchildcontrols()
//        {
           
            //base.createchildcontrols ();
        //}

        #region web 窗體設(shè)計(jì)器生成的代碼
        override protected void oninit(eventargs e)
        {
            //
            // codegen: 該調(diào)用是 asp.net web 窗體設(shè)計(jì)器所必需的。
            //
            initializecomponent();
            base.oninit(e);
        }
       
        /// <summary>
        /// 設(shè)計(jì)器支持所需的方法 - 不要使用代碼編輯器修改
        /// 此方法的內(nèi)容。
        /// </summary>
        private void initializecomponent()
        {   
            this.load += new system.eventhandler(this.page_load);

        }
        #endregion
        /// <summary>
        /// 創(chuàng)建一個(gè)模板列和一個(gè)列模板
        /// </summary>

        public templatecolumn tm = new templatecolumn();
        public columntemplate mycol = new columntemplate();

        //返回dataview
        public dataview createdatasource ()
        {
            string strsql;
            strsql = "data source=localhost;initial catalog=northwind;user id=sa;password=sa;";
            sqlconnection conn = new sqlconnection(strsql);
            sqldataadapter db_sqladaptor = new sqldataadapter(sql,conn);
            dataset ds = new dataset();
            db_sqladaptor.fill(ds,"employees");
            dataview myview = ds.tables["employees"].defaultview;
            //myview.sort=sortexpression;
            //response.write(sql);
            return myview;
        }

        /// <summary>
        /// 處理排序
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void sort_grid(object sender, datagridsortcommandeventargs e)
        {
            sortexpression = e.sortexpression.tostring();
            session["sortfield"]=sortexpression.trim();
            if(session["order"]==null) session["order"] = "asc";
            session["order"] = (session["order"].tostring()=="desc")?"asc":"desc";
            if(session["sortfield"]==null) session["sortfield"] = "firstname";
            sql += " order by "+session["sortfield"].tostring() + " " + session["order"].tostring();
            mygrid.datasource = createdatasource();
            mygrid.databind();
        }
        /// <summary>
        /// 創(chuàng)建和設(shè)置datagrid屬性,這里的屬性設(shè)置為固定值,但也可以動(dòng)態(tài)設(shè)置
        /// </summary>
        /// <returns></returns>

        public datagrid makegrid()
        {
            mygrid.cellpadding=2;
            mygrid.attributes.add("align","center");
            mygrid.cellspacing=0;
            mygrid.width=500;
            mygrid.borderwidth=1;
            mygrid.bordercolor=colortranslator.fromhtml("black");
            mygrid.autogeneratecolumns=false;
            mygrid.forecolor=colortranslator.fromhtml("black");
            mygrid.font.size=9;
            mygrid.font.name="宋體";
            mygrid.allowsorting=true;

            ///sort命令的事件處理器

            //mygrid.sortcommand += new datagridsortcommandeventhandler(sort_grid);
            mygrid.itemdatabound +=new datagriditemeventhandler(mygrid_itemdatabound);

            ///設(shè)置headerstyle
            mygrid.headerstyle.backcolor=colortranslator.fromhtml("gold");
            mygrid.headerstyle.forecolor=colortranslator.fromhtml("black");
            mygrid.headerstyle.font.name="宋體";
            mygrid.headerstyle.font.size=9;
            mygrid.headerstyle.font.bold=true;
            mygrid.headerstyle.horizontalalign=horizontalalign.center;

            ///設(shè)置alternating style
            mygrid.alternatingitemstyle.backcolor=colortranslator.fromhtml("silver");
            mygrid.alternatingitemstyle.forecolor=colortranslator.fromhtml("black");

            ///設(shè)置itemstyle
            mygrid.itemstyle.horizontalalign=horizontalalign.left;

            ///創(chuàng)建綁定列和屬性

            hyperlinkcolumn firstname = new hyperlinkcolumn();
            boundcolumn lastname = new boundcolumn();
            boundcolumn homephone = new boundcolumn();
            boundcolumn title = new boundcolumn();

//            firstname.headertext="名字";
//            firstname.datafield="firstname";
//            firstname.sortexpression="firstname";

            firstname.headertext="名字";
           
            firstname.datatextfield ="firstname";
            firstname.sortexpression="firstname";
            firstname.navigateurl = "http://localhost/test.aspx";

            lastname.headertext="姓";
            lastname.datafield="lastname";
            lastname.sortexpression="lastname";

            homephone.headertext="電話";
            homephone.datafield="homephone";
            homephone.sortexpression="homephone";

            title.headertext="職務(wù)";
            title.datafield="title";
            title.sortexpression="title";

            mygrid.columns.addat(0, firstname);
            mygrid.columns.addat(1, lastname);
            mygrid.columns.addat(2, homephone);
            mygrid.columns.addat(3, title);

            ///設(shè)置模板列屬性和itemstyle模板
            tm.headertext="**刪除信息**";
            tm.headerstyle.horizontalalign=horizontalalign.center;
            tm.itemstyle.backcolor = colortranslator.fromhtml("#fff778");
            tm.itemstyle.horizontalalign=horizontalalign.center;
           

            templatecolumn aa=new templatecolumn();
            columntemplate1 tt = new columntemplate1();
            aa.itemtemplate = tt;

           
            ///創(chuàng)建列模板。
            ///列模板從itemplate繼承
            tm.itemtemplate = mycol;
            mygrid.columns.addat(4, tm);
            mygrid.columns.addat(5,aa); 

            ///綁定和返回
            mygrid.datasource = createdatasource();
            mygrid.databind();
            return mygrid;
        }

        private void mygrid_itemdatabound(object sender, datagriditemeventargs e)
        {
            if(e.item.itemtype == listitemtype.item || e.item.itemtype == listitemtype.alternatingitem)
            {
                hyperlink link  = (hyperlink)e.item.cells[0].controls[0]; 
                string url = link.navigateurl;
    //實(shí)現(xiàn)多參數(shù)鏈接
                url += "?id=" + e.item.cells[1].text + "&id2=" + e.item.cells[2].text;
                link.navigateurl = url;
            }
        }
    }
 
 
  再添加關(guān)鍵的幾段

///  columntemplate 從itemplate繼承。
    ///  "instantiatein"定義子控件的屬于誰(shuí)

    public class columntemplate : itemplate
    {

        public void instantiatein(control container)
        {
            label mylabel = new label();
            mylabel.text="點(diǎn)擊刪除";
            checkbox mycheckbox = new checkbox();
            container.controls.add(mylabel);
            container.controls.add(mycheckbox);
        }

    } 

添加checkbox事件:

public class columntemplate1 : itemplate
    {

        public void instantiatein(control container)
        {
            label mylabel = new label();
            mylabel.text="test";
            checkbox lnk = new checkbox();
            lnk.autopostback = true;
            lnk.checkedchanged +=new eventhandler(lnk_checkedchanged);
            container.controls.add(mylabel);
            container.controls.add(lnk);
        }


        private void lnk_checkedchanged(object sender, eventargs e)
        {
            checkbox lnk = (checkbox)sender;
            datagrid dg = (datagrid)lnk.namingcontainer.namingcontainer;
            if(dg == null) return;
             //實(shí)現(xiàn)checkbox事件響應(yīng)
            datagriditem di =(datagriditem)lnk.namingcontainer;
            hyperlink lnkid= (hyperlink)di.cells[0].controls[0];
            string s2 =  lnkid.text.trim()+lnk.id+"被選中了!";
        }
    }



發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 封开县| 九龙坡区| 蒙山县| 双柏县| 宁津县| 永福县| 湟源县| 化隆| 嘉义县| 宁化县| 黑水县| 斗六市| 赫章县| 剑河县| 出国| 延庆县| 旅游| 全南县| 二连浩特市| 砚山县| 雷波县| 营口市| 三门峡市| 武乡县| 弥勒县| 青河县| 朝阳市| 勃利县| 定安县| 吴堡县| 安泽县| 阜阳市| 宾阳县| 修文县| 奉新县| 隆子县| 宽城| 金山区| 仙游县| 天柱县| 大方县|