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

首頁 > 編程 > .NET > 正文

ASP.NET格式化DataGrid的例子

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


收集最實(shí)用的網(wǎng)頁特效代碼!

    下面的代碼實(shí)現(xiàn)格式化datagrid的列,也即是將數(shù)據(jù)原中的0,1值轉(zhuǎn)換成實(shí)際的文字的功能,主要是在數(shù)據(jù)綁定的幫定事件。
  
  查看例子
  
  首先準(zhǔn)備數(shù)據(jù)源,數(shù)據(jù)源采用數(shù)據(jù)庫(kù)、xml、數(shù)組等都可以。下面以xml做例子。contacts.xml文件如下:
  
  <?xml version="1.0" encoding="gb2312" standalone="yes"?>
  <contacts>
   <contact>
   <email>[email protected]</email>
   <firstname>e章</firstname>
   <lastname>孟子</lastname>
   <manager>0</manager>
   </contact>
   <contact>
   <email>[email protected]</email>
   <firstname>憲會(huì)</firstname>
   <lastname>孟</lastname>
   <manager>1</manager>
   </contact>
   <contact>
   <email>[email protected]</email>
   <firstname>lover</firstname>
   <lastname>net</lastname>
   <manager>0</manager>
   </contact>
   <contact>
   <email>[email protected]</email>
   <firstname>net開發(fā)者園地</firstname>
   <lastname/>
   <manager>0</manager>
   </contact>
   <contact>
   <email>[email protected]</email>
   <firstname>xml開發(fā)者園地</firstname>
   <lastname/>
   <manager>1</manager>
   </contact>
  </contacts>
  
  
  formatdatagridvb.aspx
  
  <%@ page language="vb" autoeventwireup="false" codebehind="formatdatagridvb.aspx.vb"
   inherits="aspx<a target="_blank">web</a>.formatdatagridvb" %>
  <!doctype html public "-//w3c//dtd html 4.0 transitional//en" >
  <html>
   <head>
   <meta name="generator" content="microsoft visual studio 7.0">
   <meta name="code_language" content="<a target="_blank">c#</a>">
   <meta name="vs_defaultclientscript" content="<a target="_blank">javascript</a>">
   <meta name="vs_targetschema" content="http://schemas.microsoft.com/intellisense/ie5">
   </head>
   <body>
   <form id="idbsample" method="post" runat="server" class="subheading">
   <asp:label id="mytitle" runat="server" font-bold="true"></asp:label>
   <br>
   <br>
   <asp:datagrid id="formatdatagrid" runat="server" autogeneratecolumns="false" width="100%">
   <headerstyle font-bold="true"></headerstyle>
   <columns>
   <asp:templatecolumn>
   <itemtemplate>
   <asp:label
   text='<%# formatfullname(databinder.eval(container, "dataitem.firstname"),_
   databinder.eval(container, "dataitem.lastname")) %>'
   runat="server" id="label1">
   </asp:label>
   </itemtemplate>
   </asp:templatecolumn>
   <asp:boundcolumn datafield="email" readonly="true"></asp:boundcolumn>
   <asp:boundcolumn datafield="manager" readonly="true">
   <headerstyle horizontalalign="center"></headerstyle>
   <itemstyle horizontalalign="center"></itemstyle>
   </asp:boundcolumn>
   </columns>
   </asp:datagrid>
   </form>
   </body>
  </html>

   formatdatagridvb.aspx.vb
  
  imports system
  imports system.data
  imports system.web.ui
  imports system.web.ui.webcontrols
  imports system.xml
  
  public class formatdatagridvb
   inherits system.web.ui.page
   protected withevents formatdatagrid as system.web.ui.webcontrols.datagrid
   protected withevents mytitle as system.web.ui.webcontrols.label
  
  #region " web 窗體設(shè)計(jì)器生成的代碼 "
   '該調(diào)用是 web 窗體設(shè)計(jì)器所必需的。
   <system.diagnostics.debuggerstepthrough()> private sub initializecomponent()
  
   end sub
  
   private sub page_init(byval sender as system.object, byval e as system.eventargs) handles mybase.init
   'codegen: 此方法調(diào)用是 web 窗體設(shè)計(jì)器所必需的
   '不要使用代碼編輯器修改它。
   initializecomponent()
   end sub
  
  #end region
  
   private _dscontacts as dataset
  
   private sub page_load(byval sender as system.object, byval e as system.eventargs) handles mybase.load
   mytitle.text = "格式化datagrid的例子【將數(shù)據(jù)原中的0,1值轉(zhuǎn)換成實(shí)際的文字】"
   formatdatagrid.columns(0).headertext = "姓名"
   formatdatagrid.columns(1).headertext = "電子郵件"
   formatdatagrid.columns(2).headertext = "職位"
   ' 裝載xml數(shù)據(jù)原,注意:這里與數(shù)據(jù)原類型沒有關(guān)系,換成數(shù)據(jù)庫(kù)也是適用的
   _dscontacts = new dataset()
   _dscontacts.readxml(server.mappath("contacts.xml"))
   dim dcpk as datacolumn() = {_dscontacts.tables("contact").columns("email")}
   _dscontacts.tables("contact").primarykey = dcpk
  
   if not page.ispostback then
   ' 只在頁面首次請(qǐng)求時(shí)才進(jìn)行數(shù)據(jù)綁定
   bindcontacts()
   end if
   end sub
  
   private sub bindcontacts()
   dim dv as dataview = new dataview(_dscontacts.tables("contact"))
   dv.sort = "lastname, firstname"
   formatdatagrid.datasource = dv
   formatdatagrid.databind()
   end sub
  
   protected function formatfullname(byval firstname as object, byval lastname as object) as string
   ' 格式劃名稱列
   return ctype(lastname, string) & "." & ctype(firstname, string)
   end function
  
   private sub formatdatagrid_itemdatabound(byval sender as object,_
   byval e as system.web.ui.webcontrols.datagriditemeventargs) handles formatdatagrid.itemdatabound
  
   ' 確保處理的是數(shù)據(jù)行,而不是header或者footer
   if e.item.itemtype = listitemtype.item orelse e.item.itemtype = listitemtype.alternatingitem then
   ' 得到manager字段的值
   dim ismanager as string = ctype(databinder.eval(e.item.dataitem, "manager"), string)
  
   if ismanager = "1" then
   ' 設(shè)定文字和背景顏色
   e.item.cells(2).text = "經(jīng)理"
   e.item.cells(2).style.add("font-weight", "bold")
   e.item.cells(2).forecolor = system.drawing.color.red
   e.item.backcolor = system.drawing.color.aliceblue
   else
   e.item.cells(2).text = "普通員工"
   end if
   end if
   end sub
  end class
  
  c#版本
  
  using system;
  using system.collections;
  using system.componentmodel;
  using system.data;
  using system.drawing;
  using system.web;
  using system.web.sessionstate;
  using system.web.ui;
  using system.web.ui.webcontrols;
  using system.web.ui.htmlcontrols;
  
   /// <summary>
   /// summary description for idbsample.
   /// </summary>
   public class idbsample : system.web.ui.page
   {
  
   #region web form designer generated code
   override protected void oninit(eventargs e)
   {
   //
   // codegen: this call is required by the asp.net web form designer.
   //
   initializecomponent();
   base.oninit(e);
   }
  
   /// <summary>
   /// required method for designer support - do not modify
   /// the contents of this method with the code editor.
   /// </summary>
   private void initializecomponent()
   {
   this.dgcontacts.itemdatabound +=
   new system.web.ui.webcontrols.datagriditemeventhandler(this.dgcontacts_itemdatabound);
   this.load += new system.eventhandler(this.page_load);
  
   }
   #endregion
  
   protected system.web.ui.webcontrols.datagrid formatdatagrid;
  
   private dataset _dscontacts;
  
   private void page_load(object sender, system.eventargs e)
   {
   // 裝載xml數(shù)據(jù)原,注意:這里與數(shù)據(jù)原類型沒有關(guān)系,換成數(shù)據(jù)庫(kù)也是適用的
   _dscontacts = new dataset();
   _dscontacts.readxml(server.mappath("contacts.xml"));
   datacolumn[] dcpk = {_dscontacts.tables["contact"].columns["email"]};
   _dscontacts.tables["contact"].primarykey = dcpk;
  
   if (!page.ispostback )
   {
   bindcontacts();
   }
   }
  
   private void bindcontacts()
   {
   dataview dv = new dataview(_dscontacts.tables["contact"]);
   dv.sort = "lastname, firstname";
   dgcontacts.datasource = dv;
   dgcontacts.databind();
   }
  
   protected string formatfullname(object firstname, object lastname)
   {
   // 格式劃名稱列
   return (string)lastname + ", " + (string)firstname;
   }
  
   protected void formatdatagrid_itemdatabound(object source,
   system.web.ui.webcontrols.datagriditemeventargs e)
   {
   // 確保處理的是數(shù)據(jù)行,而不是header或者footer
   if (e.item.itemtype == listitemtype.item || e.item.itemtype == listitemtype.alternatingitem)
   {
   // 得到manager字段的值
   string ismanager = (string)databinder.eval(e.item.dataitem, "manager");
  
   if (ismanager == "1")
   {
   // ' 設(shè)定文字和背景顏色
   e.item.cells[2].text = "經(jīng)理"
   e.item.cells[2].style.add("font-weight", "bold")
   e.item.cells[2].forecolor = system.drawing.color.red
   e.item.backcolor = system.drawing.color.aliceblue
   }
   else
   {
   e.item.cells[2].text = "普通員工";
   }
   }
   }
   }

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 临泽县| 二连浩特市| 泉州市| 达州市| 油尖旺区| 宿松县| 布尔津县| 仲巴县| 晴隆县| 绥滨县| 申扎县| 永新县| 田阳县| 邳州市| 兴义市| 海门市| 泾阳县| 资中县| 长丰县| 察哈| 佛坪县| 栖霞市| 宣武区| 钟祥市| 泰宁县| 三都| 德令哈市| 洪泽县| 富源县| 德保县| 吴旗县| 伽师县| 历史| 东台市| 仁寿县| 茂名市| 平定县| 海兴县| 蓬安县| 柳河县| 彭山县|