<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 渠上月 閱讀(1896) 評論(0)  編輯  收藏 所屬分類: other tips
    主站蜘蛛池模板: 亚洲AV日韩综合一区| 亚洲导航深夜福利| 免费看内射乌克兰女| 免费看男女下面日出水视频| 国产精品亚洲а∨无码播放麻豆| 大学生a级毛片免费观看| 亚洲色在线无码国产精品不卡| 在线免费观看一级片| 亚洲欧美日韩综合久久久| 国产v片免费播放| 国产性生大片免费观看性| 亚洲AV日韩精品久久久久久久| 在线免费观看你懂的| 久久久久亚洲国产| 四虎永久在线精品免费影视 | 一级毛片成人免费看a| 亚洲国产中文字幕在线观看| a级毛片免费完整视频| 亚洲欧洲日产国码www| 日韩电影免费在线观看视频| 男女男精品网站免费观看| 国产亚洲av片在线观看播放| 麻豆高清免费国产一区| 久久精品国产亚洲av瑜伽| 中文字幕不卡亚洲| 国产精彩免费视频| 男男gvh肉在线观看免费| 亚洲国产精品成人久久| 欧美好看的免费电影在线观看| 老司机午夜性生免费福利| 亚洲成AV人片在| 国产在线19禁免费观看国产 | 亚欧日韩毛片在线看免费网站| 亚洲国产精品成人综合久久久| 国产又黄又爽又刺激的免费网址| 中国国语毛片免费观看视频| 亚洲制服丝袜在线播放| MM131亚洲国产美女久久| 中文字幕乱码免费视频| sihu国产精品永久免费| 亚洲最大的成人网|