ASP.Net之 ListView控件专题
一、 ListView控件适用场合
1. 应用场合:增删改查列不是非常多的数据,如果列稍微多一些,那么增改两个功能势必要单独拿出来,不能和查询使用同一个ListView。
2. 两种方法:数据源控件绑定和数据源直接绑定
数据源控件绑定:ListView等表格式数据显示控件
ObjectDataSource等各种类型的数据源控件
TypeName和SelectCommand类似于DataTable或List<Object>等数据源
DataBase
this.ListView.DataSourceId = dataSourceId;
数据源直接绑定:ListView等表格式数据显示控件
类似于DataTable或List<Object>等数据源
DataBase
this.listView.DataSource = BLL.ObjectManager.GetAllObjects();
this.listView.DataBind();
引发的后续不同:
使用第一种方式,注定了需要依赖ASP.NET绑定机制,代码略显僵化,所需知识点也比较多;使用第二种方式,不必受绑定机制的约束,代码灵活多变,但是初次展示数据所需代码量较大;
3. 数据源控件绑定
a) Books—Book—BookService-BookManager
b) Create ObjectDataSource:配置数据源
TypeName:BllLayerClassName DataObjectTypeName:ModelsLayerClassName
SelectMethod: UpdateMethod:InsertMethod:DeleteMethod:PartMethodOfBllLayerClassName
c) Create ListView DataBind:
this.ListView.DataSourceId = dataSourceId;
编辑列:网格等风格的选择彩色型等颜色的选择 功能的选择:编辑 新增 删除 分页
LayoutTemplate:指定网格的标题和脚注的模板,以某一行id为ItemPlaceHolder为界限,上面的属于标题或者列名,下面的属于脚注,而这一行本身恰恰是会利用其他所有Template;
ItemTemplate AlternatingTemplate:普通项和交替项模板
EditItemTemplate:编辑项模板
InsertItemTemplate:插入项模板
SelectedItemTemplate:选中项模板
EmptyItemTemplate:空数据项模板
d) ModifyListViewTemplate:
Ø ContentDescription AuthorDescription EditorComment TOC四列数据量较大,直接展示影响整体效果:制定方法截取较长字符串的列,利用该方法合理绑定各列
Ø 外键列的展示:外键列对应属性通常都是对象或者类,无法直接绑定,需要绑定这些类中的属性,Publisher.Name
Ø 列名展示:默认情况是英文,需要修改为中文
Ø 出版日期:显示日期即可,无需显示时间
Convert.ToDateTime(Eval("PublishDate")).ToShortDateString()
Ø 字数:以万为单位
Ø 单价:只需精确到小数点后两位即可
新增或者修改时如何在外键列放入dropdownList:
修改
让外键列出现已经填充了所有待选择数据的dropdownList
如果是修改功能的话,还要让其选中相应数据
将所有修改过后的数据交给业务逻辑层
对于特殊列的录入,不能使用TextBox,应该使用特殊控件,建议利用第三方JS控件