zoukankan      html  css  js  c++  java
  • DataList用法总结

    设计模版: 
    页眉<HeaderTemplate>   
    </HeaderTemplate> 
    页脚<FooterTemplate> 
    </FooterTemplate>
    数据记录<ItemTemplate> 
    </ItemTemplate> 
    <AlternatingItemTemplate>     交替显示项 
    </AlternatingItemTemplate> 
    <SelectedItemTemplate>选中时的显示方式    
    </SelectedItemTemplate> 
    <EditItemTemplate> 编辑时的显示方式 
    </EditItemTemplate> 
    <SeparatorTemplate>    数据记录分隔符 
    </SeparatorTemplate> 
    编辑模版,里面可以嵌入控件,绑定数据。 
    <ItemTemplate> 
        <table> 
        <tr> 
         <td><%# DataBinder.Eval(Container.DataItem, "持股名称") %></td> 
         <td><%# DataBinder.Eval(Container.DataItem, "市值", "{0:n}") %></td> 
         <td><%# DataBinder.Eval(Container.DataItem, "净值", "{0:n}") %></td> 
        </tr> 
    </table> 
    </ItemTemplate> 
    设置外观 
    RepeatLayout          属性设置显示方式
    RepeatDirection       显示方向
    RepeatColumns        列数
    事件

    加入模版列的按钮会将其click事件反升到 ItemCommand 事件,也可设置 CommandName 
    来响应不同的事件,如设为:edit,即引发EditCommand()等。 
    注:若设为:select 则会引发SelectedIndexChanged 和ItemCommand事件
    SelectedItemTemplate模版;    添加详细信息的控件,当用户选择了该项,选择模版则显示。 
    private void DataList1_ItemCommand(……) 
    {    switch(e.CommandName) 
          { 
         case "select": 
                 this.DataList1.SelectedIndex=e.Item.ItemIndex; 
                  string s=(string)this.DataList1.DataKeys[e.Item.ItemIndex]; 
                  //在此获得该条记录的详细数据,在SelectedItemTemplate模版里显示。 
                  break; 
          case "unselect": 
                this.DataList1.SelectedIndex=-1; 
           break; 
        } 
        this.DataList1.DataBind();//一定要 
    } 
    EditItemTemplate模版 
        编辑: 
        this.DataList1.EditItemIndex=e.Item.ItemIndex; 
         this.DataList1.DataBind(); 
        更新: 
    得到主键 
    string s=(string)this.DataList1.DataKeys[e.Item.ItemIndex]; 
    得到模版里的控件 
    TextBox box=(TextBox)e.Item.FindControl("TextBox1"); 
    更新记录 
    this.DataList1.DataBind(); 
        取消: 
    this.DataList1.EditItemIndex=-1; 
    this.DataList1.DataBind(); 
    删除项 
    一次勾选多条记录,一次删除 
                  foreach(DataListItem i in this.DataList1.Items) 
         {

         bool IsChecked=((CheckBox)i.FindControl("deletectr")).Checked;

                      if(IsChecked) 
                      { 
                          string s=(string)this.DataList1.DataKeys[e.Item.ItemIndex];

        删除操作        }

              } 
    运行中自定义DataList控件 
    //当创建DataList控件中的任意项时 
    private void DataList1_ItemCreated(object sender, System.Web.UI.WebControls.DataListItemEventArgs e) 
    { 
    switch(e.Item.ItemType) 
    {    case ListItemType.Header: 
                 e.Item.ForeColor=Color.Red; 
                  e.Item.BackColor=Color.Black; 
                  break; 
          case ListItemType.Item: 
                  e.Item.BackColor=Color.Black; 
                   break; 
        } 
    } 
    //当模版中的项被数据绑定时发生,数据被显示到客户端前加以访问的最后机会 
    private void DataList1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e) 
    { 
    if((e.Item.ItemType==ListItemType.Header)||(e.Item.ItemType==ListItemType.Item)) 
        { 
            System.Data.Common.DbDataRecord drv= 
               (System.Data.Common.DbDataRecord)e.Item.DataItem; 
                if((decimal)drv["库存量"]<1000) 
           { 
          e.Item.ForeColor=Color.Red; 
            } 
         }

    }

    另种方式
        if((e.Item.ItemType==ListItemType.Header)||(e.Item.ItemType==ListItemType.Item))

                  { 
                 DataRowView drv=(DataRowView)e.Item.DataItem; 
                     string department=(string)drv["部门"]; 
                      switch(department) 
                      {    case "销售部":

                           e.Item.BackColor=Color.Black;

                               break; 
                   case "技术部": 
                            e.Item.BackColor=Color.Red; 
         break;    } 
        }

  • 相关阅读:
    python_django_分页
    python_django_中间件
    python_django_静态文件
    Django项目基础配置和基本使用
    python_django__验证码
    python_django_The requested URL /sunck/login/sunck/showmain/ was not found on this server.错误
    python_django_template_url反向解析
    python_django_template模块
    Andrew Ng机器学习算法入门(一):简介
    Vue.js 条件语句
  • 原文地址:https://www.cnblogs.com/wangxingliu/p/3483111.html
Copyright © 2011-2022 走看看