datalist控件的使用属性(datalist控件的Items属性是什么意思)

本文目录
- datalist控件的Items属性是什么意思
- 如何动态设置DataGrid中某些行的选中状态
- ASP.NET中如何获取datalist内lable控件的值
- datalist 控件中套用button控件,如何获取button控件从数据库中获取的id
- asp.net 中控件DataList 用法
datalist控件的Items属性是什么意思
Items 介绍和作用
Items是DataGridItem的集合,可以遍历当前DataGrid中显示数据的DataGridItem。
5.1、DataGridItem
每一个DataGridItem就是DataGrid中显示的一行,其中包括:
Header DataGrid 控件的标题部分
Item DataGrid 控件中的项
AlternatingItem DataGrid 控件中的交替项
SelectedItem DataGrid 控件中的选定项(由SelectedIndex设置,通过SelectedItem属性或者Items来读取)
EditItem DataGrid 控件中处于状态的项(由EditItemIndex设置,通过Items来读取)
Separator DataGrid 控件中项之间的分隔符
Footer DataGrid 控件的脚注部分
Pager DataGrid 控件的页选择节
注意,DataGrid的Items属性中不会包含Header、Footer、Pager这三类DataGridItem的。
5.1.1、DataGridItem的属性
ItemIndex —— 得到行在Items中的索引
ItemType —— 返回行的类型,也就是上面列出的Header、Item、...、Pager
Cells —— 返回行包含的所有TableCell(不管是显示声明的,还是自动生成的,不管是可以看见的,还是隐藏掉的),通过TableCell,可以读取Cell中显示的文本、包含的控件
严重注意:只有BoundColumn列和自动生成列,才可以通过TableCell.Text属性读取显示的文本。HyperLinkColumn、ButtonColumn、EditCommandColumn都需要将目标控件转换成相应的控件。
比如:
假设DataGrid的第一列声明如下
《asp:HyperLinkColumn DataTextField="au_id" HeaderText="au_id" DataNavigateUrlField="au_id" DataNavigateUrlFormatString="Edit.aspx?id={0}"》《/asp:HyperLinkColumn》
读取的时候可以用:
//Items表示Cell中的第一个控件(也只有这个控件可以用)
HyperLink link = (HyperLink)DataGrid1.Items);
Response.Write(link.Text);
至于模板列(TemplateColumn),当然也可以通过DataGrid1.Items来获取,然后转换成原来的控件类型再操作,但是还有个更好的办法,就是用FindControl来查找控件。
FindControl是System.Web.UI.Control的方法,可以根据子控件ID来查找子控件
比如:
假设DataGrid的某一列声明如下
《asp:TemplateColumn》
《ItemTemplate》
《asp:TextBox Runat="server" ID="txtID" Text=’《%# DataBinder.Eval(Container.DataItem,"au_id") %》’》
《/asp:TextBox》
《/ItemTemplate》
《/asp:TemplateColumn》
读取方法:
TextBox txt = (TextBox)DataGrid1.Items.FindControl("txtID");
Response.Write(txt.Text);
注意:DataList中是没有Cell的
如何动态设置DataGrid中某些行的选中状态
1、为DataGrid添加一个RowSelectColumn列,并拖放到第一列显示;
2、设置DataGrid的selectionMode属性值为“multiRows”;
3、编写代码:
代码可以根据实际情况放置到不同控件的事件中,比如点击某个按钮来设置grid的选中状态。
代码思路:需要先获取需要选中那些行的数据,然后再通过设置dataGrid的selection属性来设置选中状态,其中selection是一个js数组,所以需要先把需要选中的数据push到一个数组中。
若DataGrid对应的DataSet中有一个字段为state,当state=1时,需要选中,代码如下:
var dataList=view.get("#dataset").getData(); //取得原始数据列表
var selectedItems=; //定义一个数组
dataList.each(function(entity){
if (entity.get("state")==1){
selectedItems.push(entity);
}
});
view.set("#dataGrid.selection"),selectedItems);
ASP.NET中如何获取datalist内lable控件的值
这个要使用datalist的ItemCommand事件,所以首先添加datalist的这个事件
在后台写上这个事件的函数,或者在datalist事件找到这个事件,双击,后者最简单
当你点击某个按钮的时候,会触发ItemCommand事件,那么你可以为该按钮加上CommandName属性值
在后台可以将CommandName的值作为进行的操作的判断条件
接下来就是关键的获取控件的值了,首先你要获得点击行的索引
然后根据这个索引值和你想要获取控件的ID来寻找这个控件的值,我这里是获取lable控件,所以圈出部分用的是lable定义,后面的“UP”是lable的ID,当然你也可以用button等控件
datalist 控件中套用button控件,如何获取button控件从数据库中获取的id
第一步:设置Button的CommandName属性和CommandArgument属性
《asp:Button ID="btncata" runat="server" Text=’《%#Eval("name") %》’
CommandName="sel" CommandArgument=’《%#Eval("id") %》’ /》
第二步:不要在button里设置onclick事件
第三步:添加DataList 的ItemCommand事件
第四步:在事件里if(e.CommandName=="sel") //判断是否进入了你点击按钮后的事件
第五步:在if语句里:e.CommandArgument可以获取你绑定的类别id
第六步:这样就可以查询了
注意:在用数据绑定控件时,如果里面添加的有其他的控件,不要给这些控件直接添加事件,这样往往出不来你想要的结果
asp.net 中控件DataList 用法
DataList 控件用于显示限制于该控件的项目的重复列表 ,其使用方式和 Repeater控件相似,也是使用模板标记。不过,DataList 控件会默认地在数据项目上添加表格,而且正是由于它使用模板进行设计,所以它的灵活性比GridView更高,DataList控件可被绑定到数据库表、XML文件或者其他项目列表, DataList 控件新增 SelectedItemTemplate 和 EditItemTemplate 模板标记,可以支持选取和功能。
***隐藏网址***

更多文章:
全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)
2026年9月7日 17:10
matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)
2026年9月7日 16:30
oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)
2026年9月7日 15:30
电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)
2026年9月7日 12:20
scrollthrough意思(“scroll”是什么意思)
2026年9月7日 08:00
怎么激活keygen(注册机如何激活cad2008一个简单激活cad2008的方法)
2026年9月7日 06:30




