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

首頁 > 編程 > .NET > 正文

ASP.NET 2.0 中動態(tài)添加 GridView 模板列的例子

2024-07-10 13:06:29
字體:
來源:轉載
供稿:網友
國內最大的酷站演示中心!

動態(tài)添加列,關鍵是實現 itemplate.instantiatein 方法。下面是一個添加 gridview 模板列的例子。

c#代碼

<%...@ page language="c#" %>
<%...@ import namespace="system.data" %>
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en"
 "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"
>

<script runat="server">...
  icollection createdatasource()
  
...{
    datatable dt 
= new datatable();
    datarow dr;
    dt.columns.add(
new datacolumn("id"typeof(int32)));
    dt.columns.add(
new datacolumn("text"typeof(string)));
    
for (int i = 0; i < 6; i++)
    
...{
      dr 
= dt.newrow();
      dr[
0= i;
      dr[
1= "列表項目 " + i.tostring();
      dt.rows.add(dr);
    }

    dataview dv 
= new dataview(dt);
    
return dv;
  }


  public class gridviewtemplate : itemplate
  
...{
    private datacontrolrowtype templatetype;
    private string columnname;

    public gridviewtemplate( datacontrolrowtype type, string colname )
    
...{
      templatetype 
= type;
      columnname 
= colname;
    }


    public 
void instantiatein( system.web.ui.control container )
    
...{
      
switch (templatetype)
      
...{
        
case datacontrolrowtype.header:
          literal lc 
= new literal();
          lc.text 
= columnname;          
          container.controls.add(lc);          
          
break;
        
case datacontrolrowtype.datarow:
          dropdownlist drr 
= new dropdownlist();
          drr.id 
= "dropdown";
          drr.appenddatabounditems 
= true;
          drr.items.add(
new listitem("-----請選擇------",""));
          drr.items.add(
new listitem("aa""a"));
          drr.items.add(
new listitem("bb""b"));
          drr.items.add(
new listitem("cc""c"));
          container.controls.add(drr);
          
break;
        
default:
         
break;
      }

    }

  }

  
  protected 
void page_load(object sender, eventargs e)
  
...{
    
if (!ispostback)
    
...{
      templatefield customfield 
= new templatefield();
      customfield.showheader 
= true;
      customfield.headertemplate 
= new gridviewtemplate(datacontrolrowtype.header, "動態(tài)添加列");
      customfield.itemtemplate 
= new gridviewtemplate(datacontrolrowtype.datarow, "");
      gridview1.columns.add(customfield);
      gridview1.datasource 
= createdatasource();
      gridview1.databind();
    }

  }


  protected 
void gridview1_rowdatabound( object sender, gridviewroweventargs e )
  
...{
    
if (e.row.rowtype == datacontrolrowtype.datarow)
    
...{
      
//可以在這里訪問數據庫的其它字段的值,可以設置默認選擇項,具體應用,看自己的發(fā)揮了。
      //下面只是例子,舉一反三,不再費話了
      datarowview gv = (datarowview)e.row.dataitem;
      
int itemseleted = int32.parse(gv.row["id"].tostring()) > 3 ? 0 : int32.parse(gv.row["id"].tostring());
      dropdownlist dr 
= (dropdownlist)e.row.findcontrol("dropdown");
      dr.selectedindex 
= itemseleted;
    }

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="head1" runat="server">
  
<title>gridview動態(tài)添加模板列的例子</title>
</head>
<body>
<form id="form1" runat="server">
  
<asp:gridview id="gridview1" runat="server" autogeneratecolumns="false"
     onrowdatabound
="gridview1_rowdatabound">
    
<columns>
      
<asp:boundfield headertext="標題"  datafield="text"/>
    
</columns>
  
</asp:gridview> 
</form>
</body>
</html>

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 邯郸县| 吉林市| 四子王旗| 札达县| 定日县| 南乐县| 襄汾县| 措勤县| 古浪县| 萝北县| 凤冈县| 子洲县| 锦州市| 霍邱县| 闽清县| 治县。| 奉新县| 乐都县| 定南县| 娱乐| 罗田县| 龙口市| 仙桃市| 交口县| 湖南省| 金沙县| 西安市| 区。| 景宁| 涟源市| 邢台市| 盐池县| 玛曲县| 英山县| 拜泉县| 海南省| 金寨县| 招远市| 武宁县| 德阳市| 黄陵县|