028. asp.net数据绑定控件值DataList控件
DataList控件可以使用模板与定义样式来显示数据并进行数据的选择, 删除及编辑工作. DataList控件的最大特点是一定要通过模板来定义数据的显示格式. 如果要设计出美观的界面, 就需要花费一番心思. DataList控件显示数据时具有灵活性, 开发人员发挥的空间较大, DataList支持的模板如下:
AlternationItemTemplate
如果已经定义, 则为DataList中的交替项提供内容和布局; 如果未定义, 则使用ItemTemplate
EditItemTemplate
如果已经定义, 则为DataList中的当前编辑项提供内容和布局; 如果未定义则使用ItemTemplate
FooterTemplate
如果已经定义, 则为DataList的脚注部分提供内容和布局; 如果未定义则不显示脚注部分
HeaderTemplate
如果已经定义, 则为DataList的页眉部分提供内容和布局; 如果未定义则不显示页眉部分
ItemTemplate
为DataList中的项提供内容和布局所要求的模板
SelectdItemTemplate
如果已经定义, 则为DataList中的当前选定项提供内容和布局; 如果未定义则使用ItemTemplate
SeparatorTemplate
如果已经定义, 则为DataList中的分隔符提供内容和布局; 如果未定义则不显示分隔符
下面是关于dataList控件的前端代码简单示例:
<asp:DataList ID="DataList1" runat="server" Width="239px">
<FooterTemplate>
<table border="1" style="width: 300px; text-align: center;" cellpadding="0" cellspacing="0">
<tr>
<td colspan="4" style="font-size: 16pt; color: #006600; text-align: center">
下面这行是合计</td>
</tr>
<tr>
<td style="height: 19px; width: 50px; color: #669900;">
编号合计</td>
<td style="height: 19px; width: 50px; color: #669900;">
姓名合计</td>
<td style="height: 19px; width: 50px; color: #669900;">
性别合计</td>
<td style="width: 150px; height: 19px; color: #669900;">
内号码合计</td>
</tr>
</table>
</FooterTemplate>
<HeaderTemplate>
<table border="1" style="width: 300px; text-align: center;" cellpadding="0" cellspacing="0">
<tr>
<td colspan="4" style="font-size: 16pt; color: #006600; text-align: center">
使用DataList控件绑定数据源</td>
</tr>
<tr>
<td style="height: 19px; width: 50px; color: #669900;">
编号</td>
<td style="height: 19px; width: 50px; color: #669900;">
姓名</td>
<td style="height: 19px; width: 50px; color: #669900;">
性别</td>
<td style="width: 150px; height: 19px; color: #669900;">
内号码</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table border="1" style="width: 300px; color: #000000; text-align: center;" cellpadding="0" cellspacing="0">
<tr>
<td style="height: 21px; width: 50px; color: #669900;">
<asp:Label ID="lblStuID" runat="server" Text='<%# Eval("cardNo") %>'></asp:Label></td>
<td style="height: 21px; width: 50px; color: #669900;">
<asp:Label ID="lblStuName" runat="server" Text='<%# Eval("name") %>'></asp:Label></td>
<td style="height: 21px; width: 50px; color: #669900;">
<asp:Label ID="lblStuSex" runat="server" Text='<%# Eval("sex") %>'></asp:Label></td>
<td style="width: 150px; height: 21px; color: #669900;">
<asp:Label ID="lblstuHobby" runat="server" Text='<%# Eval("cardBound") %>'></asp:Label></td> </tr>
</table>
</ItemTemplate>
</asp:DataList>
对应的后台代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//实例化SqlConnection对象
SqlConnection sqlCon = new SqlConnection();
//实例化SqlConnection对象连接数据库的字符串
sqlCon.ConnectionString = "server=.;uid=sa;pwd=123.456;database=TYW";
//定义SQL语句
string SqlStr = "select * from card";
//实例化SqlDataAdapter对象
SqlDataAdapter da = new SqlDataAdapter(SqlStr, sqlCon);
//实例化数据集DataSet
DataSet ds = new DataSet();
da.Fill(ds, "card");
//绑定DataList控件
DataList1.DataSource = ds;//设置数据源,用于填充控件中的项的值列表
DataList1.DataBind();//将控件及其所有子控件绑定到指定的数据源
}
}
对应的显示效果图:

DataList一些基本的事件使用简单示例:
public SqlConnection GetCon()
{
//实例化SqlConnection对象
SqlConnection sqlCon = new SqlConnection();
//实例化SqlConnection对象连接数据库的字符串
sqlCon.ConnectionString = "server=.;uid=sa;pwd=123.456;database=TYW";
return sqlCon;
}
public void Bind()
{
SqlConnection sqlCon = GetCon();
//定义SQL语句
string SqlStr = "select * from card";
//实例化SqlDataAdapter对象
SqlDataAdapter da = new SqlDataAdapter(SqlStr, sqlCon);
//实例化数据集DataSet
DataSet ds = new DataSet();
da.Fill(ds, "card");
//绑定DataList控件
DataList1.DataSource = ds;//设置数据源,用于填充控件中的项的值列表
DataList1.DataKeyField = "cardNo";//设置数据表的主键
DataList1.DataBind();//将控件及其所有子控件绑定到指定的数据源
}
protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
{
//设置DataList1控件的编辑项的索引为选择的当前索引
DataList1.EditItemIndex = e.Item.ItemIndex;
//数据绑定
Bind();
}
protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)
{
//设置DataList1控件的编辑项的索引为-1,即取消编辑
DataList1.EditItemIndex = -;
//数据绑定
Bind();
}
protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
{
//取得编辑行的关键字段的值
string stuID = DataList1.DataKeys[e.Item.ItemIndex].ToString();
//取得文本框中输入的内容
string stuName = ((TextBox)e.Item.FindControl("txtName")).Text;
string stuSex = ((TextBox)e.Item.FindControl("txtSex")).Text;
string stuHobby = ((TextBox)e.Item.FindControl("txtHobby")).Text;
string sqlStr = "update card set name='" + stuName + "',sex='" + stuSex + "',cardBound='" + stuHobby + "' where cardNo=" + stuID;
//更新数据库
SqlConnection myConn = GetCon();
myConn.Open();
SqlCommand myCmd = new SqlCommand(sqlStr, myConn);
myCmd.ExecuteNonQuery();
myCmd.Dispose();
myConn.Close();
//取消编辑状态
DataList1.EditItemIndex = -;
Bind();
}
028. asp.net数据绑定控件值DataList控件的更多相关文章
- 《ASP.NET1200例》嵌套在DataLisT控件中的其他服务器控件---DropDownList控件的数据绑定
aspx <script type="text/javascript"> function CheckAll(Obj) { var AllObj = document. ...
- 027. asp.net中数据绑定控件之 GridView控件
GridView控件支持下面的功能: 绑定至数据源控件, 如SqlDataSource 内置排序功能 内置更新和删除功能 内置分页功能 内置行选择功能 可以编程方式访问GridView对象模型以动态设 ...
- asp.net学习之DataList控件
asp.net学习之DataList控件 DataList控件与Repeater控件一样由模板驱动,与Repeater控件不同的是: DataList控件默认输出是一个HTML表格.DataLis ...
- ASP.NET数据绑定控件简介
•数据绑定分为数据源和数据绑定控件两部分(①数据绑定控件通过数据源获取和修改数据②数据绑定控件通过数据源隔离数据提供者和数据使用者)数据绑定控件→数据源→数据库•数据源:SqlDataSource(连 ...
- asp.net学习之 数据绑定控件--表格绑定控件
原文:asp.net学习之 数据绑定控件--表格绑定控件 数据绑定 Web 服务器控件是指可绑定到数据源控件,以实现在 Web 应用程序中轻松显示和修改数据的控件.数据绑定 Web 服务器控件 ...
- asp.net取HTML控件值
asp.net取HTML控件值所有html表单里面的值控件,提交后都是以键值 key=value&key=value&……这样的形式提交给后台. radio也一样,会将选中的radio ...
- WPFS数据绑定(要是后台类对象的属性值发生改变,通知在“client界面与之绑定的控件值”也发生改变须要实现INotitypropertyChanged接口)
WPFS数据绑定(要是后台类对象的属性值发生改变,通知在"client界面与之绑定的控件值"也发生改变须要实现INotitypropertyChanged接口) MainWindo ...
- ASP.NET MVC加载用户控件后并获取其内控件值或赋值
有网友看了这篇<ASP.NET MVC加载ASCX之后,并为之赋值>http://www.cnblogs.com/insus/p/3643254.html 之后,问及Insus.NET,不 ...
- C# 将Dictionary,StringDictionary等集合数据绑定到如comboBox等控件数据源中将获取健值
一般在使用C#提供的如combobx控件绑定数据源时都是直接绑定数据库里的数据的(DataTable,DataSet等) 最近在一个项目里需要使用combobox绑定类似“状态的”数据源,该字段里的数 ...
随机推荐
- BZOJ 2111 排列计数
f[i]=f[l]*f[r]*C(size[l]+size[r],size[l]). 需要lucas. #include<iostream> #include<cstdio> ...
- BZOJ 4723 Flappy Bird
找到可行区间,最优解一定在区间的下端点. #include<iostream> #include<cstdio> #include<cstring> #includ ...
- 顺序表(C++)
以下为数据结构中的顺序表实现代码,已测试能够运行.虽然说是C++版的,但是其实应该是C语言班的.C++应该是面向对象,用抽象方法实现,而以下代码是面向过程的,只是把C语言中的输入(scanf)和输出( ...
- socket编程(Linux)
“一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. ——有感于实际编程和开源项目研究. 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览 ...
- C#不安全代码和stackalloc
stackalloc 关键字用于不安全的代码上下文中,以便在堆栈上分配内存块.如下: ]; 注意:关键字仅在局部变量的初始值中有效. 下面的代码导致编译器错误. int* block; // The ...
- 五、CCNode
本将主要介绍下CCNode这个类,CCNode是所有节点的基类,其中包括我们常用的CCScene(场景).CCLayer(图层).CCSprite(精灵)等,它是一个不能够可视化显示的抽象类,只是用来 ...
- linux下C语言中的flock函数用法 【转】
表头文件 #include<sys/file.h> 定义函数 int flock(int fd,int operation); 函数说明 flock()会依参数operation所指 ...
- LeetCode Pow(x, n) (水题)
题意: 求浮点型x的n次幂结果. 思路: logN直接求,注意n可能为负数!!!当n=-2147483648的时候,千万别直接n=-n,这样的结果是多少?其他求法大同小异. class Solutio ...
- 哎哟,我的.NET呀
今早无意看到一篇文章,看着.Net被喷得越来越惨,终于还是有人忍不住要奋起反抗了哇! 虽然我已经转了java(大致方向)(没想到我是转的java方向!)好吧!其实也不算是转,就像文章所说的,我最多算是 ...
- 读metronic文档学到的几个知识点
1.RTL 同样的页面,它做了两套.为什么,因为在这个世界上,有些民族,有些语种,是从右向左来的. 2. google material design 同样的一套东西,又分别做了google mat ...