ASP.NET--GridView配合DetailsView初使用
1.GridView与DetailsView中的绑定模板不可以进行编辑的问题
方法:将要编辑的列转换为模板列---TemplateField
<EditItemTemplate></EditItemTemplate>---编辑模板
<InsertItemTemplate></InsertItemTemplate>---新建项模板
<ItemTemplate></ItemTemplate>---显示项模板
注:在对应的模板中就可以使用相应的控件,,使用空间是要记得编辑模板列,让控件绑定相应的属性/列名,如图

2.GridView与DetailsView中要实现增删改等操作没反应
方法:重要属性,给空间指定表中的主键值DataKeyNames=主键列/属性
3.GridView中要将某列设置为超链接状态

方法:用到控件中的HyperlinkField--作用是将某一列设置为超链接状态
DataTextField--要绑定的列名或属性名
DataNavigateUrlField--超链接要传的值,一般绑定主键
DataNavigateUrlFormatString--超链接传值的格式--要连接的地址?id={0} [{0}]--是占位符,,占的是DataNavigateUrlField的值
注:在GridView配合DetailsView使用中 GridView只实现删除的方法,DetailsView实现增、改的方法
GridView跳转到DetailsView是要将设置好的DataNavigateUrlField中的主键值传递给DetailsView,
DetailsView配置数据源时定义来源是QueryString 键的名字--要连接的地址?id={0}中的id
4.DetailsView中的几个事件
ItemInserted--项插入完成后的操作
项目中用到的是插入完成后跳转的别的页面
protected void DetailsView1_ItemInserted(object sender, DetailsViewInsertedEventArgs e)
{
//数据插入完成后跳转页面
Response.Redirect("Teacher.aspx");
}
ItemUpdating事件--在修改之前,将控件空的值传递给修改模板
protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
{
CheckBox ckm = (CheckBox)DetailsView1.FindControl("rdoMale");
CheckBox ckf = (CheckBox)DetailsView1.FindControl("rdoFamle");
}
5.数据绑定时怎样控制GridView中某一单元格的值
RowDataBound事件--数据绑定完成后触发---三步1.获取2.修改3.显示
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
//判断成绩是否已经录入,,没录入显示------未录入成绩
//判断是否是数据行
if (e.Row.RowType==DataControlRowType.DataRow)
{
//是数据行就将行中的对象获取-----获取
v_Score data = e.Row.DataItem as v_Score;
//修改
TextBox txt = e.Row.Cells[].FindControl("txtScore") as TextBox;
//显示
txt.Text = data.Score == - ? "未录入成绩" : data.Score.ToString();
}
}
6.点击按钮实现录入成绩,要循环GridView
在表格中找到某一单元格方法:
GridView1.Rows[i].Cells[5].FindControl("txtScore") as TextBox

//点击录入成绩
protected void btnUpdateScore_Click(object sender, EventArgs e)
{
//循环表格中的每一行,,把主键值,和分数值提取出来(转换成模板之后才能提取)
; i < GridView1.Rows.Count; i++)
{
TextBox txt = GridView1.Rows[i].Cells[].FindControl("txtScore") as TextBox;
Label lbl = GridView1.Rows[i].Cells[].FindControl("lblEID") as Label;
int eid = Convert.ToInt32(lbl.Text);
double score = Convert.ToDouble(txt.Text);
int rel = new ElectiveBll().Input(eid, score);
)
{
lblMSG.Text = "录入成功!";
}
}
ASP.NET--GridView配合DetailsView初使用的更多相关文章
- 【DevExpress v17.2新功能预告】增强ASP.NET GridView的功能
在下一个主要版本v17.2中,我们将为DevExpress ASP.NET GridView添加一些优秀的新功能.在本文中为大家介绍的所有功能都可用于 GridView的ASP.NET WebForm ...
- 详解ASP.NET4 GridView的四种排序样式
与ASP.NET 的其他Web控件一能够,Gridview控件拥有很多不同的CSS样式属性设置,包括象CssClass,Font字体,ForeColor,BackColor,BackColor, Wi ...
- asp.net gridview 鼠标悬浮提示信息
使用场景: gridview绑定数据,某列数据太多,故超过一定字符,隐藏起来,同时鼠标移到指定列显示其明细信息: 知识点: 1,oderListTbl_DataBound事件中,添加,oderList ...
- asp.net gridview动态添加列,并获取其数据;
1,绑定数据前先动态添加列,见方法CreateGridColumn(只在第一次加载动态添加): 2,gvlist_RowDataBound为对应列添加控件: 前台代码: <%@ Page Lan ...
- Asp.net GridView控件使用纪要
1:数据绑定 GridView 支持数据绑定的数据源格式比较多,例如可以使用ObjectDataSource绑定数据源, Dataset,datatable,List<T>等 2:列绑定 ...
- asp.net Gridview 的用法
留个档. <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="Fa ...
- ASP.NET GridView HyperLinkField传值和取值【转】
来源:http://www.cnblogs.com/junjie94wan/archive/2011/08/17/2143623.html 经常做Winform程序,好久没有做WEB都有些生疏了,Gr ...
- Asp.net Gridview导出Excel
前台页面放一个GridView什么的就不说了,要注意的是在 <%@ Page Language="C#" AutoEventWireup="true" C ...
- asp.net - GridView根据linkButton值不同跳转不同页面
一,当前页面中,前台界面的主要代码: <asp:TemplateField HeaderText="姓名"> <ItemTemplate> <!--根 ...
随机推荐
- 自动化测试selenium+java 第一章
selenium元素的定位以及操作 1. 元素的定位 Selenium 自动化,我们需要做的最基本的事情就是在页面找到元素并通过脚本程 序去操作这个元素,实现模拟人工操作.我们有多种定位元素的方式可以 ...
- TFSF边界条件
待续 %1D FDTD simulation with a simple absorbing boundary condition % and a TFSF boundary between hy[] ...
- 实习小记-python 内置函数__eq__函数引发的探索
乱写__eq__会发生啥?请看代码.. >>> class A: ... def __eq__(self, other): # 不论发生什么,只要有==做比较,就返回True ... ...
- IO流的练习 —— 创建用户注册、登陆案例
把上次用集合做的时候的分析拿出来 需求: 用户登录注册案例 按照如下操作,可以让我们更符合面向对象思想: A:这个案例有哪些类 B:每个类中又有哪些东西 C:类与类之间的关系 分析: A:这个案例有哪 ...
- GitHub上史上最全的Android开源项目分类汇总
今天在看博客的时候,无意中发现了 @Trinea 在GitHub上的一个项目 Android开源项目分类汇总 ,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参考价值,包括很炫 ...
- iOS app上传错误集锦(转载)
1.工程里增加了版本自动更新. 2.未增加判断网络状态的类Reachability. 3.问题:error itms -90049 This bundel is invalid. The bundle ...
- windows客户机连接gerrit的一个报错处理
gerrit环境部署在linux服务器,windos客户机连接gerrit进行代码操作: 在windows客户机下载Git客户端 在“Git Bash”里使用 ”ssh-keygen -t rsa - ...
- 搞懂function(*args,**kwargs)
给出一个例子: def foo(*args,**kwargs): print 'args=',args print 'kwargs=',kwargs print '------------------ ...
- POJ 1182 食物链
G - 食物链 Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit Stat ...
- Xcode7 真机调试步骤以及遇到的问题解决办法
打开Xcode7,打开preference 添加自己的apple ID登陆上去 打开一个自己的想要运行在真机上的项目 插上自己的iPhone真机(真机没必要是最新的系统,没必要升级,我刚开始报错以为是 ...