各种数据绑定控件间的区别

各种数据绑定控件间的区别

控件主要数据结构功能描述和主要用途
GridView读取与编辑每个字段一列
每个字段值对应于自已的一个单元格
在网络中显示多条记录
编辑现有记录
DataList表或树读取和编辑所有字段在一个单元格中
一个单元格等于一条记录
在网格中显示多条记录
在GridView创建新记录
Repeater表或树只读所有字段在一个单元格中
一个单元格等于一条记录
在网格中显示多条记录.为GridView创建新记录
DetailView表或树读取与编辑、创建显示单个记录
提供默认结构
编辑现有记录
创建新记录
FormView表或树读取与编辑、创建显示单个记录
没有默认结构
编辑现有记录
创建新记录
DropDownList和ListBox表或树只读列出字段
让用户选择
显示供用户选择的数据
SiteMapPath只读列出主页和当前页面之间的页面名称
用于确定当前所处的站点位置
Menu只读显示根节点,能够选择一次展开一个子节点
用于显示选择的菜单
TreeView只读显示根节点,能够选择一次展开一个子节点
用于同时显示多个子节点

数据绑定控件比较(Reapter\DataList\GridView\DatailsView\FormView):
1.插入功能方面:
DetailsView和FormView具有插入功能,其它控件没有
2.模板
DataList\FormView\Repeater三种必须编辑模板,而
GridView和DetailsView只有在将列转换成模板列以后才会出现各种模板.
3.自动分页功能
GridView ,DetailsView和FormView都是2.0版本新增控件,内置了分页,排序等等功能,
其他需要手工定义
4.数据呈现方式:
GridView,DataList,Repeator用于呈现多列数据,
DetailsView,FormView用于呈现单列数据,即常用的数据明细.


DataList和Reapter都需要编辑模板列,而在模板列当中可以添加TextBox,同时可以指定TextBox的ID从而实现提取用户输入的值,但是DataGrid和GridView两个件是不需要编辑模板的,它的编辑功能是自动生成的我们无法知道那些文本框的ID,也就无法通过ID来获取用户的输入,那么可以通过对单元格的引用来实现:
private void DataGrid1_UpdateCommand(object source,xx)
{
    string bkid=DataGrid1.DataKeys[e.Item.ItemIndex].toString();//提取主键
    string bktitle=((TextBox)e.Item.Cells[1].Controls[0]).Text;//提取用户的输入
}

 

一.进入编辑状态:
DataList1.EditItemIndex = e.Item.ItemIndex;
DataGrid1.EditItemIndex = e.Item.ItemIndex;
GridView1.EditIndex = e.NewEditIndex;
DetailsView1.ChangeMode(DetailsViewMode.Edit);//进入编辑状态
DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);//退出编辑状态


二.设置主键:
DataList1.DataKeyField = "bkid";
DataGrid1.DataKeyField = "bkid";

string[] str={"bkid"};
GridView1.DataKeyNames = str;


三.提取主键:
string bkid = DataList1.DataKeys[e.Item.ItemIndex].ToString();//DataList
string bkid = DataGrid1.DataKeys[e.Item.ItemIndex].ToString();//DataGrid
string bkid = GridView1.DataKeys[e.RowIndex].Value.ToString();//GridView
string bkid = DetailsView1.DataKey[0].ToString();

四.查找控件:
string bktitle = ((TextBox)e.Item.FindControl("txtTile")).Text;//DataList
string bktitle = ((TextBox)e.Item.Cells[1].Controls[0]).Text;//DataGrid
string bktitle = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;
string bktitle = ((TextBox)DetailsView1.Rows[1].Cells[1].Controls[0]).Text;


注意查找控件有两种方法:(各数据绑定控件的都可以用下面两种方法进行查找)
1.如果知道控件的ID可以用这种方法
((TextBox)e.Item.FindControl("txtTile")).Text;//这是查找
2.如果不知道控件的ID可用这种方法
((TextBox)e.Item.Cells[1].Controls[0]).Text;//这是索引


五.给删除按钮添加确认:
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
     {
         if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
         {
             LinkButton lbtn =(LinkButton) e.Item.FindControl("lbtndelete");
             lbtn.Attributes.Add("OnClick","return confirm(‘确定要删除吗?‘)");
         }
     }

protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
     {
         if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
         {
             LinkButton lbtn = (LinkButton)e.Item.Cells[3].Controls[0];
             lbtn.Attributes.Add("OnClick","return confirm(‘确认删除?‘)");
         }
     }


protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
     {
         if(e.Row.RowType== DataControlRowType.DataRow)
         {
             string strid = e.Row.Cells[0].Text;//获取第一行的字段值;
             e.Row.Cells[3].Attributes.Add("OnClick", "return confirm(‘确认删除\""+strid+"\"?‘)");
             //用了两个转义符将第一列的值用引号括起来,注意转义符后面一个将不被解释,是直接放上去;

         }
     }

转载于:https://www.cnblogs.com/hlepgd/archive/2008/01/07/1028744.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是ASP.NET使用数据绑定控件分页显示数据的步骤: 1. 在ASP.NET页面中添加一个数据绑定控件,如GridView或Repeater,可以通过“数据”工具箱中的控件来添加。 2. 在数据绑定控件中设置数据源,可以使用SqlDataSource或ObjectDataSource等控件来设置数据源。如果是使用SqlDataSource控件,可以在ASP.NET页面中添加以下代码: ```asp <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM 表名"></asp:SqlDataSource> ``` 3. 设置数据绑定控件的属性,如DataSource和DataBind,将数据源与数据绑定控件绑定。例如,使用GridView控件绑定数据源的代码如下: ```asp <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1"> </asp:GridView> ``` 4. 添加一个分页控件,如Pager或DataPager,用于实现分页功能。可以通过“数据”工具箱中的控件来添加。 5. 设置分页控件的属性,如PageSize、PagedControlID等,用于指定每页显示的数据条数和分页控件所对应的数据绑定控件的ID。 例如,使用DataPager控件实现分页的代码如下: ```asp <asp:DataPager ID="DataPager1" runat="server" PageSize="10" PagedControlID="GridView1"> </asp:DataPager> ``` 6. 运行ASP.NET页面即可看到数据绑定控件已经实现了分页显示数据,可以通过分页控件来翻页,展示不同的数据。 希望这些步骤能够帮助到你,如果还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值