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

首頁 > 編程 > .NET > 正文

ASP.net 2.0 自定義控件的開發(fā)之?dāng)?shù)據(jù)分頁 第二章

2024-07-10 13:06:18
字體:
供稿:網(wǎng)友

以下為控件的主要部分 (ui 部分)
通知使用基于合成的實(shí)現(xiàn)的服務(wù)器控件創(chuàng)建它們包含的任何子控件,以便為回發(fā)或呈現(xiàn)做準(zhǔn)備。
        protected overrides sub createchildcontrols()sub createchildcontrols()
            controls.clear()
            labpageinfo = new label()
            labpageinfotext_01 = new label
            labpageinfotext_01.text = "每頁"
            txtpagesize = new textbox
            txtpagesize.id = "txtpagesize"
            txtpagesize.width = 66
            labpageinfotext_02 = new label
            labpageinfotext_02.text = "條記錄"
            labpageinfotext_03 = new label
            labpageinfotext_03.text = "轉(zhuǎn)到"
            labpageinfotext_04 = new label
            labpageinfotext_04.text = "頁"
            txtpageindex = new textbox
            txtpageindex.id = "txtpageindex"
            txtpageindex.width = 66
            ibgotopage = new imagebutton
            ibgotopage.id = "ibgotopage"
            ibgotopage.width = 60
            ibgotopage.height = 20
            addhandler ibgotopage.click, addressof ibgotopage_click
            lbgotopage = new linkbutton
            lbgotopage.id = "lbgotopage"
            lbgotopage.text = "轉(zhuǎn)到"
            addhandler lbgotopage.click, addressof lbgotopage_click
            lbfirstpage = new linkbutton
            lbfirstpage.id = "lbfirstpage"
            lbfirstpage.text = "首頁"
            addhandler lbfirstpage.click, addressof lbfirstpage_click
            lbprevpage = new linkbutton
            lbprevpage.id = "lbprevpage"
            lbprevpage.text = "上頁"
            addhandler lbprevpage.click, addressof lbprevpage_click
            lb下一頁:asp.net 2.0 自定義控件的開發(fā)之?dāng)?shù)據(jù)分頁 第三章 = new linkbutton
            lb下一頁:asp.net 2.0 自定義控件的開發(fā)之?dāng)?shù)據(jù)分頁 第三章.id = "lb下一頁:asp.net 2.0 自定義控件的開發(fā)之?dāng)?shù)據(jù)分頁 第三章"
            lb下一頁:asp.net 2.0 自定義控件的開發(fā)之?dāng)?shù)據(jù)分頁 第三章.text = "下頁"
            addhandler lb下一頁:asp.net 2.0 自定義控件的開發(fā)之?dāng)?shù)據(jù)分頁 第三章.click, addressof lb下一頁:asp.net 2.0 自定義控件的開發(fā)之?dāng)?shù)據(jù)分頁 第三章_click
            lb上一頁:asp.net 2.0 自定義控件的開發(fā)之?dāng)?shù)據(jù)分頁 第一章 = new linkbutton
            lb上一頁:asp.net 2.0 自定義控件的開發(fā)之?dāng)?shù)據(jù)分頁 第一章.id = "lb上一頁:asp.net 2.0 自定義控件的開發(fā)之?dāng)?shù)據(jù)分頁 第一章"
            lb上一頁:asp.net 2.0 自定義控件的開發(fā)之?dāng)?shù)據(jù)分頁 第一章.text = "末頁"
            addhandler lb上一頁:asp.net 2.0 自定義控件的開發(fā)之?dāng)?shù)據(jù)分頁 第一章.click, addressof lb上一頁:asp.net 2.0 自定義控件的開發(fā)之?dāng)?shù)據(jù)分頁 第一章_click
            me.controls.add(labpageinfo)
            me.controls.add(labpageinfotext_01)
            me.controls.add(txtpagesize)
            me.controls.add(labpageinfotext_02)
            me.controls.add(labpageinfotext_03)
            me.controls.add(txtpageindex)
            me.controls.add(ibgotopage)
            me.controls.add(lbgotopage)
            me.controls.add(lbfirstpage)
            me.controls.add(lbprevpage)
            me.controls.add(lb下一頁:asp.net 2.0 自定義控件的開發(fā)之?dāng)?shù)據(jù)分頁 第三章)
            me.controls.add(lb上一頁:asp.net 2.0 自定義控件的開發(fā)之?dāng)?shù)據(jù)分頁 第一章)
        end sub

重寫控件的輸出。
        protected overrides sub render()sub render(byval writer as htmltextwriter)
            addattributestorender(writer)
            writer.addattribute(htmltextwriterattribute.cellpadding, "1", false)
            writer.addattribute(htmltextwriterattribute.width, "100%", false)
            writer.renderbegintag(htmltextwritertag.table)
            writer.renderbegintag(htmltextwritertag.tr)
            writer.renderbegintag(htmltextwritertag.td)
            writer.addstyleattribute(htmltextwriterstyle.width, "50%")
            labpageinfo.text = "共 " & recordcount & "條記錄 共 " & pagecount & " 頁 當(dāng)前第" & currentpageindex & "頁"
            labpageinfo.rendercontrol(writer)
            writer.renderendtag()

            writer.renderbegintag(htmltextwritertag.td)
            writer.addstyleattribute(htmltextwriterstyle.width, "50%")
            labpageinfotext_01.rendercontrol(writer)
            writer.writeline(" ")
            txtpagesize.rendercontrol(writer)
            writer.writeline(" ")
            labpageinfotext_02.rendercontrol(writer)
            writer.writeline(" ")

            if gotostyle = stylegoto.imagebutton then
                labpageinfotext_03.rendercontrol(writer)
            else
                lbgotopage.rendercontrol(writer)
            end if
            writer.writeline(" ")
            txtpageindex.rendercontrol(writer)
            writer.writeline(" ")
            labpageinfotext_04.rendercontrol(writer)
            if gotostyle = stylegoto.imagebutton then
                ibgotopage.attributes.add("onmouseover", "this.src='" + hoverimageurl + "';")
                ibgotopage.attributes.add("onmouseout", "this.src='" + defaultimageurl + "';")
                ibgotopage.attributes.add("onmousedown", "this.src='" + pressedimageurl + "';")
                ibgotopage.rendercontrol(writer)
            end if
            writer.writeline(" ")
            lbfirstpage.rendercontrol(writer)
            writer.writeline(" ")
            lbprevpage.rendercontrol(writer)
            writer.writeline(" ")
            lb下一頁:asp.net 2.0 自定義控件的開發(fā)之?dāng)?shù)據(jù)分頁 第三章.rendercontrol(writer)
            writer.writeline(" ")
            lb上一頁:asp.net 2.0 自定義控件的開發(fā)之?dāng)?shù)據(jù)分頁 第一章.rendercontrol(writer)
            writer.renderendtag()
            writer.renderendtag()
            writer.renderendtag()
        end sub


由復(fù)合控件的標(biāo)準(zhǔn)設(shè)計(jì)器用于在設(shè)計(jì)時(shí)重建控件樹。

msdn 中的解釋重新創(chuàng)建派生自 compositecontrol 的控件的子控件。


       protected overrides sub recreatechildcontrols()sub recreatechildcontrols()
            ensurechildcontrols()
        end sub

數(shù)據(jù)庫分頁部分,后面將給出分頁的sql server 存儲(chǔ)過程。

protected function gotopage()function gotopage() as datatable
            dim dt as new datatable()
            conn = new sqlconnection(sqlconnection)
            conn.open()
            using conn
                dim command as new sqlcommand
                command.connection = conn
                command.commandtext = storedprocedurename
                command.commandtype = commandtype.storedprocedure
                dim parameter as sqlparameter
                parameter = command.parameters.add("@table", sqldbtype.nvarchar)
                parameter.value = tablename
                parameter = command.parameters.add("@primarykeyfield", sqldbtype.nvarchar)
                parameter.value = primarykeyfield
                parameter = command.parameters.add("@field", sqldbtype.nvarchar)
                parameter.value = field
                parameter = command.parameters.add("@where", sqldbtype.nvarchar)
                parameter.value = where
                parameter = command.parameters.add("@groupby", sqldbtype.nvarchar)
                parameter.value = groupby
                parameter = command.parameters.add("@orderby", sqldbtype.nvarchar)
                parameter.value = orderby
                parameter = command.parameters.add("@pagenumber", sqldbtype.nvarchar)
                parameter.value = currentpageindex
                parameter = command.parameters.add("@pagesize", sqldbtype.nvarchar)
                parameter.value = pagesize
                parameter = command.parameters.add("@recordcount", sqldbtype.int)
                parameter.direction = parameterdirection.output
                command.executenonquery()
                intrecordcount = command.parameters("@recordcount").value
                viewstate("recordcount") = intrecordcount
                viewstate("pagecount") = fix(intrecordcount / pagesize) + 1
                dim da as new sqldataadapter(command)
                da.fill(dt)
                return dt
            end using
        end function

數(shù)據(jù)綁定代碼
public overrides sub databind()sub databind()
            '查找頁面中的gridview及datalist并綁定數(shù)據(jù)
            dim objgridview as new gridview
            dim objdatalist as new datalist
            if controltopaginate = "" then
                exit sub
            end if
            _controltopaginat = page.findcontrol(controltopaginate)
            if (_controltopaginat is nothing) then
                exit sub
            end if
            if (typeof _controltopaginat is gridview) then
                objgridview = ctype(_controltopaginat, gridview)
                objgridview.datasource = gotopage()
                objgridview.databind()
            end if
            if (typeof _controltopaginat is datalist) then
                objdatalist = ctype(_controltopaginat, datalist)
                objdatalist.datasource = gotopage.defaultview
                objdatalist.databind()
            end if
        end sub

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 囊谦县| 健康| 禄丰县| 玉山县| 临湘市| 华亭县| 惠来县| 嘉鱼县| 清新县| 车险| 湛江市| 竹溪县| 富源县| 杭锦后旗| 乌鲁木齐市| 新营市| 资阳市| 南京市| 洪雅县| 苍山县| 东港市| 昭通市| 五峰| 乌兰浩特市| 浏阳市| 襄汾县| 磐石市| 余姚市| 广东省| 台湾省| 睢宁县| 富川| 罗平县| 龙井市| 潮州市| 和静县| 庆云县| 长治县| 郸城县| 固安县| 循化|