<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
    主站蜘蛛池模板: 亚洲裸男gv网站| 中文字幕无码日韩专区免费 | 国精产品一区一区三区免费视频| 久久久久无码精品亚洲日韩| 久久午夜免费视频| xxxxxx日本处大片免费看| 91在线精品亚洲一区二区| 免费日本一区二区| 国产V亚洲V天堂A无码| 成人无码区免费A片视频WWW| 美女隐私免费视频看| 亚洲视频手机在线| 一级毛片直播亚洲| 一区免费在线观看| 亚洲无码视频在线| 最近更新免费中文字幕大全| 国产亚洲精品VA片在线播放| 国产亚洲真人做受在线观看| 久久久久国产精品免费看 | 黄色一级毛片免费看| 91精品国产亚洲爽啪在线影院| 国产99视频精品免费视频7| 美国免费高清一级毛片| 91情国产l精品国产亚洲区| av在线亚洲欧洲日产一区二区| 最近中文字幕mv手机免费高清 | 国产97视频人人做人人爱免费| 国产偷国产偷亚洲高清日韩| 国产92成人精品视频免费| 国产成人无码免费看片软件| 亚洲 欧洲 视频 伦小说| 青青草原精品国产亚洲av| 久久久精品国产亚洲成人满18免费网站| 日韩毛片免费无码无毒视频观看| 亚洲Aⅴ在线无码播放毛片一线天 亚洲avav天堂av在线网毛片 | 亚洲av永久中文无码精品| 亚洲高清在线mv| 亚洲精品无码不卡在线播HE| 免费a级毛片视频| 日本无卡码免费一区二区三区| 男女作爱免费网站|