DataList小结_zj

原创 2004年09月17日 20:16:00

设计模版<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

页眉<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;

                }

            }

select与datalist在制作下拉菜单时的区别

一般我们通常使用select制作下拉菜单,但是H5之后,datalist也可以充当select的角色,而且两者还有一点小的不同。 对于select来说,select的下拉菜单是供用户选择的,用户只能选...
  • Doulvme
  • Doulvme
  • 2016年12月30日 11:54
  • 2868

Datalist控件的详细用法(一)

使用DataList控件   本章内容:          1、理解事件冒泡          2、使用模板          3、在DataList中显示数据          4、在Dat...
  • liuwei1128
  • liuwei1128
  • 2014年03月14日 21:34
  • 3103

《ASP.NET》数据绑定—DataList实践篇

上篇文章大概讲了DataList的一些基础知识,掌握这些知识在将来的应用中起到很大的作用,现在我们就开始讲上篇文章中说的基础知识做一个小例子。     首先,我机子的数据库中有一张person表,如下...
  • u013067402
  • u013067402
  • 2015年07月26日 11:12
  • 1748

html5中datalist简单用法

学习前端半个月了,越来越觉得前端太有趣了,今后将在博文中记录自己学习的点滴,毕竟好记性不如烂笔头嘛。 最近做东西需要邮箱补全,接触到datalist,觉得蛮好用的。datalist是需要与input...
  • longbing16
  • longbing16
  • 2015年11月19日 23:39
  • 2341

form表单 input标签以及其属性,datalist标签

form表单 input标签以及其属性 datalist标签
  • ztt0918
  • ztt0918
  • 2017年03月26日 20:55
  • 700

easyui从datagrid中添加数据到datalist中

效果图:功能:从数据表格中添加数据到数据列表中,添加时过滤重复的,可以删除数据列表中已添加的 test ...
  • u011370903
  • u011370903
  • 2016年12月19日 17:33
  • 2735

每天一道前端面试题--dataList与自定义dataList

今天主要分享 —- HTML5新控件datalist以及模仿天猫搜索框HTML新控件datalist的实际应用 ...
  • dai_qingyun
  • dai_qingyun
  • 2016年10月19日 10:04
  • 1496

datalist绑定数据,实现增删改查

asp:DataList ID="DataList1" runat="server" CellPadding="4" DataSourceID="ObjectDataSource1" ForeCo...
  • zunguitiancheng
  • zunguitiancheng
  • 2013年10月20日 22:35
  • 765

数据列表DataList模板之实例

1,数据列表DataList与重复列表Repeator很类似,但是DataList应用更广泛,因为他可以选择和修改数据项的内容。 DataList的数据显示和布局与Repeator控件一样都是通过“模...
  • hanxuemin12345
  • hanxuemin12345
  • 2013年05月26日 21:00
  • 4310

【Asp.net之旅】--数据绑定控件之DataList

       上篇博客讨论了Repeater控件的基本用法,它是最基本的数据绑定控件,只提供了数据绑定的功能,熟练运用Repeater控件后,其它类似的数据绑定控件就很简单了。接着我们上篇博客的内...
  • zhang_xinxiu
  • zhang_xinxiu
  • 2014年03月28日 09:28
  • 24427
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DataList小结_zj
举报原因:
原因补充:

(最多只允许输入30个字)