伺服器端動態載入DataGrid控制項並設定其屬性

2021-03-31 21:28:59 字數 4869 閱讀 5187

datagrid

在asp.***

程式設計中占有非常重要的地位,對於瀏覽器中大批量資料的呈現,

datagrid

幾乎不可缺少。常用的設定

datagrid

屬性的方法都是在前台由

asp語句實現,這樣顯然不適合

datagrid

的動態載入,通過後台

c#**實現前台的功能顯得非常重要,下面就通過乙個例項來說明其設定方法。

同其它動態載入伺服器控制項的方法一樣,要在客戶端瀏覽器上呈現

datagrid

,必須要有乙個

panel

容器控制項來裝載它,生成方法如下:

panel panel1=new panel();

必要的話還可以設定該

panel

的其它屬性,詳見附錄。

如果panel

的大小不隨

datagrid

的大小發生變化,則需要加入如下**:

panel1.style["overflow"]="auto";

建立datagrid

控制項:datagrid mydatagrid=new datagrid();

如果每一列的資料不是自動載入,而是人工繫結,則需要加入如下**:

mydatagrid.autogeneratecolumns=false;

用如下語句設定每一列的標題,繫結的位元組,並加入到

mydatagrid

控制項當中:

boundcolumn s1=new boundcolumn();

s1.datafield="employeeid";

s1.headertext="雇員id";

mydatagrid.columns.add(s1);

mydatagrid

的位置通過如下**設定:

mydatagrid.style["position"]="absolute";

mydatagrid.style["left"]="0px";

mydatagrid.style["top"]="0px";

其中left

和top

屬性是相對於上面

panel1

的相對位置。

由於datagrid的表現非常豐富,因此,其屬性設定非常繁雜,包括背景色和字型大小這樣細小的環節都可以按照使用者的定義設定,其詳細的屬性設定**見附錄。值得注意的是,cellpadding

用於獲取或設定單元格的內容和單元格的邊框之間的空間量;

cellspacing

用來獲取或設定單元格間的空間量;

selecteditemstyle

用於獲取當前選定項的樣式屬性;

itemstyle

用於獲取

mydatagrid

控制項中各項的樣式屬性;

headerstyle

用於獲取

mydatagrid

控制項中標題部分的樣式屬性;style屬性保證header標題部分的中文顯示在一行之中。

通過如下**將

mydatagrid

控制項加入到

panel1

中:panel1.controls.add(mydatagrid);

最後需要連線相關資料庫,並將資料庫中資料載入到

mydatagrid

的資料來源中,詳見附錄。

至此就完成了伺服器控制項datagrid在後台新增的所有任務。

附錄:動態載入datagrid控制項的源**:

panel1.style["position"]="absolute";

panel1.style["top"]="30px";

panel1.style["left"]="100px";

panel1.style["width"]="500px";

panel1.style["height"]="300px";

panel1.style["overflow"]="auto";

datagrid mydatagrid=new datagrid();

boundcolumn s1=new boundcolumn();

s1.datafield="employeeid";

s1.headertext="雇員id";

mydatagrid.columns.add(s1);

boundcolumn s2=new boundcolumn();

s2.datafield="lastname";

s2.headertext="姓";

mydatagrid.columns.add(s2);

boundcolumn s3=new boundcolumn();

s3.datafield="firstname";

s3.headertext="名";

mydatagrid.columns.add(s3);

boundcolumn s4=new boundcolumn();

s4.datafield="title";

s4.headertext="標題";

mydatagrid.columns.add(s4);

boundcolumn s5=new boundcolumn();

s5.datafield="birthdate";

s5.headertext="生日";

mydatagrid.columns.add(s5);

boundcolumn s6=new boundcolumn();

s6.datafield="address";

s6.headertext="位址";

mydatagrid.columns.add(s6);

mydatagrid.style["position"]="absolute";

mydatagrid.style["left"]="0px";

mydatagrid.style["top"]="0px";

mydatagrid.bordercolor=color.fromname("#deba84");

mydatagrid.backcolor=color.fromname("#deba84");

mydatagrid.style["borderstyle"]="none";

mydatagrid.attributes.add("borderstyle","none");

mydatagrid.cellpadding=3;

mydatagrid.cellspacing=2;

mydatagrid.attributes.add("borderwidth","1px");

mydatagrid.pagesize=2;

mydatagrid.autogeneratecolumns=true;

mydatagrid.selecteditemstyle.font.bold=true;

mydatagrid.selecteditemstyle.forecolor=color.white;

mydatagrid.selecteditemstyle.backcolor=color.fromname("#738a9c");

mydatagrid.itemstyle.forecolor=color.fromname("#8c4510");

mydatagrid.itemstyle.backcolor=color.fromname("#fff7e7");

mydatagrid.itemstyle.horizontalalign=horizontalalign.center;

mydatagrid.itemstyle.wrap=false;

mydatagrid.headerstyle.font.bold=true;

mydatagrid.headerstyle.forecolor=color.white;

mydatagrid.headerstyle.backcolor=color.fromname("#a55129");

mydatagrid.headerstyle.horizontalalign=horizontalalign.center;

mydatagrid.headerstyle.wrap=false;

mydatagrid.autogeneratecolumns=false;

mydatagrid.horizontalalign=horizontalalign.center;

mydatagrid.pagerstyle.horizontalalign=horizontalalign.center;

mydatagrid.pagerstyle.wrap=false;

mydatagrid.attributes.add("style","word-break:keep-all;word-wrap:normal");

panel1.controls.add(mydatagrid);

sqlconnection thisconnection=new sqlconnection ("data source=(local);initial catalog=northwind;uid=sa;pwd=");

sql***mand this***mand=thisconnection.create***mand ();

trycatch(exception ex)

this***mand.***mandtext ="select * from employees";

sqldatareader sqldatareader;

sqldatareader=this***mand.executereader ();

mydatagrid.datasource =sqldatareader;

mydatagrid.databind();

sqldatareader.close();

socket伺服器端

伺服器 include winsock2.h include string.h include stdio.h include time.h include stdarg.h include stdlib.h pragma comment lib,ws2 32 void errexit const ...

kerberos伺服器端

1.安裝tcl wget tar zvxf tcl8.5.12 src.tar.gz cd tcl8.5.12 cd unix configure make make install 3.解壓 tar xvf krb5 1.10.3 signed.tar tar zvxf krb5 1.10.3.t...

C tcp伺服器端

伺服器端 include stdafx.h include winsock2.h pragma comment lib,ws2 32.lib include using namespace std int tmain int argc,char ar 建立套接字 sserver socket af ...