<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    blog.Toby

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      130 隨筆 :: 2 文章 :: 150 評論 :: 0 Trackbacks

    DataGrid的事件中,ItemCreated和ItemDataBound是尤為重要并且經常要用到的兩個,其中的ItemCreated事件在DataGrid創建表格行時觸發,而ItemDataBound則在數據綁定被綁定到相應的行后觸發,前者可以用來在DataGrid中創建動態控件,比如下面的例子中在DataGrid的標題行中加入一個Button并注冊它的Click事件,而ItemDataBound被觸發時,數據已經綁定到相應的行,這時就可以獲取當前行的數據,并根據這些數據來執行相應的操作,比如下面的示例中把綁定到“性別”字段的book值用string替換、為“禁止登錄”列的CheckBox設置選中狀態等,示例代碼如下,保存為aspx文件后放在虛擬目錄下即可運行:

    <%@ Page Language="C#" Debug="True"%>
    <%@ Import Namespace="System" %>
    <%@ Import Namespace="System.Data" %>

    <script language="C#" runat="server">

     void Page_Load(Object src, EventArgs e)
     {
     if(!Page.IsPostBack){
     DataTable table=new DataTable();
     table.Columns.Add(new DataColumn("編號",typeof(int)));
     table.Columns.Add(new DataColumn("姓名",typeof(string)));
     //性別列,用bool值表示,男為true,女為false
     table.Columns.Add(new DataColumn("性別",typeof(bool)));
     table.Columns.Add(new DataColumn("禁止登錄",typeof(bool)));
     DataRow row;
     Random rd=new Random();
     for(int i=0;i<10;i++){
     row=table.NewRow();
     row[0]=i+1;
     row[1]="用戶"+(i+1).ToString();
     row[2]=(rd.Next(0,80)%2==0); //用隨機數來生成性別,以示公正原則:)
     row[3]=(i%2==0);
     table.Rows.Add(row);
     }
     MyDataGrid.DataSource=table;
     MyDataGrid.DataBind();
     }
     }

    void MyDataGrid_ItemCreated(object src,DataGridItemEventArgs e){
    if(e.Item.ItemType==ListItemType.Header){
    Button btn=new Button();
    btn.Text=e.Item.Cells[3].Text;
    btn.Click+=new EventHandler(btn_Click);
    e.Item.Cells[3].Controls.Clear();
    e.Item.Cells[3].Controls.Add(btn);
    }
    }

    void MyDataGrid_ItemDataBound(object src,DataGridItemEventArgs e){
    if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem){
    DataRowView rv=(DataRowView)e.Item.DataItem;
    //把性別列的bool值替換為相應的文字“男”或“女”
    if((bool)rv["性別"]==true)
    e.Item.Cells[2].Text="男";
    else
    e.Item.Cells[2].Text="女";
    //根據“禁止登錄”列的值設置CheckBox的選中狀態
    CheckBox ckb=e.Item.FindControl("ckb_denyLogin") as CheckBox;
    if(ckb!=null){
    ckb.Checked=(bool)rv["禁止登錄"];
    }
    }
    }

    void btn_Click(object src,EventArgs e){
    string deniedUsers=""; //保存用戶選中的“禁止登錄”的用戶編號
    CheckBox ckb;
    for(int i=0;i<MyDataGrid.Items.Count;i++){
    if(MyDataGrid.Items[i].ItemType==ListItemType.Item||MyDataGrid.Items[i].ItemType==ListItemType.AlternatingItem){
    ckb=(CheckBox)MyDataGrid.Items[i].FindControl("ckb_denyLogin");
    if(ckb!=null&&ckb.Checked){
    deniedUsers+=MyDataGrid.DataKeys[i].ToString()+",";
    }
    }
    }
    deniedUsers=deniedUsers.Trim(',');
    msglbl.Text="已被禁止登錄的用戶:"+deniedUsers;
    }
    </script>
    <html>
    <head>
    <title> Webdiyer制造:)</title>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="Webdiyer(http://www.webdiyer.com)">
    </head>
    <body>

    <form runat="server">
          <ASP:DataGrid id="MyDataGrid" width="500px" runat="server" OnItemCreated="MyDataGrid_ItemCreated" OnItemDataBound="MyDataGrid_ItemDataBound" DataKeyField="編號" AutoGenerateColumns=false>
          <HeaderStyle HorizontalAlign="center" BackColor="#9999CC"/>
          <Columns>
          <asp:BoundColumn DataField="編號" HeaderText="編號"/>
          <asp:BoundColumn DataField="姓名" HeaderText="姓名"/>
          <asp:BoundColumn DataField="性別" HeaderText="性別"/>
          <asp:TemplateColumn HeaderText="禁止登錄">
          <ItemStyle HorizontalAlign="center"/>
          <ItemTemplate>
          <asp:CheckBox runat="server" id="ckb_denyLogin"/>
          </ItemTemplate>
          </asp:TemplateColumn>
          </Columns>
          </asp:DataGrid>
    <asp:Label runat="server" id="msglbl"/>
    </form>
     
    </body>
    </html>



    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=225218

    posted on 2007-05-18 23:30 渠上月 閱讀(1897) 評論(0)  編輯  收藏 所屬分類: other tips
    主站蜘蛛池模板: 本道天堂成在人线av无码免费| 亚洲精品色播一区二区| 久久久受www免费人成| 免费a级毛片视频| 国产成人亚洲综合a∨| 免费一级毛片不卡在线播放| 国产亚洲一卡2卡3卡4卡新区 | caoporn国产精品免费| 日本二区免费一片黄2019| 亚洲高清国产拍精品熟女| 免费大学生国产在线观看p| 特级毛片全部免费播放| 亚洲色欲久久久久综合网| 一级做受视频免费是看美女| 亚洲色成人网站WWW永久| 免费无码成人AV在线播放不卡| 亚洲精品视频观看| 最近中文字幕免费mv视频7| 亚洲乱妇老熟女爽到高潮的片| 国产又长又粗又爽免费视频| 免费国产va在线观看| 亚洲中文字幕无码永久在线| 最好免费观看高清在线| 亚洲春色另类小说| 免费看a级黄色片| 国产区在线免费观看| 亚洲视频免费观看| 影音先锋在线免费观看| 一个人看的免费视频www在线高清动漫| 国产亚洲情侣一区二区无码AV | AAAAA级少妇高潮大片免费看| 亚洲高清国产AV拍精品青青草原| 久久午夜免费鲁丝片| 亚洲中文字幕乱码一区| 久久久久国产成人精品亚洲午夜| 免费无码VA一区二区三区| 久久亚洲精品专区蓝色区| 亚洲国产高清在线一区二区三区| a级毛片视频免费观看| 亚洲国产高清视频在线观看| 国产一区二区三区在线免费观看|