<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 渠上月 閱讀(1911) 評論(0)  編輯  收藏 所屬分類: other tips
    主站蜘蛛池模板: 免费成人午夜视频| 黄色片在线免费观看| 亚洲国产综合人成综合网站| 中文字幕在线观看亚洲日韩| 99久久99这里只有免费费精品| 亚洲国产亚洲综合在线尤物| 无码国产精品一区二区免费| 亚洲免费网站在线观看| 免费a级毛片无码a∨蜜芽试看| 亚洲乱码一区二区三区国产精品| 午夜成年女人毛片免费观看| 风间由美在线亚洲一区| 国产美女无遮挡免费视频网站| 白白色免费在线视频| 国产国拍精品亚洲AV片| 无码国产精品一区二区免费3p | 亚洲AV无码专区日韩| 天堂亚洲免费视频| 亚洲色欲久久久综合网| 99re在线这里只有精品免费 | 亚洲欧美日韩国产精品一区| 国产免费爽爽视频免费可以看| 边摸边脱吃奶边高潮视频免费| 亚洲日韩aⅴ在线视频| 99热这里只有精品免费播放| 日韩亚洲国产综合高清| 亚洲av日韩片在线观看| 国产免费拔擦拔擦8X高清在线人 | 成人a毛片免费视频观看| 亚洲中文字幕无码不卡电影| 日韩免费人妻AV无码专区蜜桃| www.亚洲成在线| 亚洲国产精品碰碰| 日韩中文字幕免费视频| 亚洲中文无码永久免| 亚洲精品无码久久久| 最近中文字幕无免费| 国产亚洲美女精品久久久久| 国产成人无码综合亚洲日韩| 免费可以看黄的视频s色| eeuss免费天堂影院|