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

來源:互聯網
上載者:User
datagrid|datagrid控制項|動態|伺服器|載入|datagrid|datagrid控制項|伺服器|載入 DataGrid在Asp.net編程中佔有非常重要的地位,對於瀏覽器中大批量資料的呈現,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();
         &



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。