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[5].FindControl("txtScore") as TextBox;
                //显示
                    txt.Text = data.Score == -1 ? "未录入成绩" : data.Score.ToString();
            }
        }

6.点击按钮实现录入成绩,要循环GridView

在表格中找到某一单元格方法:

GridView1.Rows[i].Cells[5].FindControl("txtScore") as TextBox

//点击录入成绩
        protected void btnUpdateScore_Click(object sender, EventArgs e)
        {
            //循环表格中的每一行,,把主键值,和分数值提取出来(转换成模板之后才能提取)
            for (int i = 0; i < GridView1.Rows.Count; i++)
            {
                TextBox txt = GridView1.Rows[i].Cells[5].FindControl("txtScore") as TextBox;
                Label lbl = GridView1.Rows[i].Cells[6].FindControl("lblEID") as Label;
                int eid = Convert.ToInt32(lbl.Text);
                double score = Convert.ToDouble(txt.Text);
                int rel = new ElectiveBll().Input(eid, score);
                if (rel>0)
                {
                    lblMSG.Text = "录入成功!";
                }
            }
时间: 2024-09-29 17:54:48

ASP.NET--GridView配合DetailsView初使用的相关文章

ASP.net中的AJAX学习记录六 无刷新的数据编辑(GridView和DetailsView结合实例)(转)

本篇博客是仿照书中实例,实现GridView和DetailsView结合无刷新的数据编辑效果,页面效果:当点击GridView1的行或换页时,都会引发DetailsView1的数据绑定显示至页面,同时当使用DetailsView1编辑.删除.添加时,也会引起GridView1的重新绑定,整体页面实现无刷新. 页面布局: 1.新建AJAX窗口,命名为:"NoRefreshEdit.aspx".要想实现页面无刷新编辑,就必须使用两个Updatepanel. 2.在NoRefreshEdit

详解ASP.NET4 GridView的四种排序样式

与ASP.NET 的其他Web控件一能够,Gridview控件拥有很多不同的CSS样式属性设置,包括象CssClass,Font字体,ForeColor,BackColor,BackColor, Width, Height等等.Gridview还包括了一些应用在表格的行上的样式属性,比如RowStyle, AlternatingRowStyle, HeaderStyle,和PagerStyle,它们都提供了象CssClass和Font这些基本的属性设置. 在ASP.NET 4.0中的Gridvi

ASP.NET GridView HyperLinkField传值和取值【转】

来源:http://www.cnblogs.com/junjie94wan/archive/2011/08/17/2143623.html 经常做Winform程序,好久没有做WEB都有些生疏了,GridView传值取值都不知道怎么用了,特此在网上寻找了一些比较可靠的资料. 记录下来以备以后使用 前端代码,在GridView里面加编辑列里面加 HyperLinkField,然后设置 HyperLinkField的 DataNavigateUrlFields.DataNavigateUrlForm

《转载》ASP.NET GridView中文本内容无法换行(自动换行/正常换行)

ASP.NET GridView中文本内容无法换行(自动换行/正常换行) 作者: 字体:[增加 减小] 类型:转载 用GridView来显示课程表,每个单元格的内容包括课程名.上课地点.教师姓名,然后我想让它们分行显示,感兴趣的朋友可以了解下,或许对你有所帮助 最近做项目的时候,遇到这样一个问题:我用GridView来显示课程表,每个单元格的内容包括课程名.上课地点.教师姓名,然后我想让它们分行显示,效果如下图: 可是呢,GridView太顽强了,不管我拼接字符串时用“\r\n”还是"<b

ASP.NET——GridView控件绑定数据

        ASP.NET提供了许多种数据服务器控件,用于在Web页面中显示数据库中的表数据,GridView控件就是其中之一.这个控件和我们以前学过的DataGridView控件几乎是一样的,所以对GridView控件我们也并不陌生,下面简单介绍一下它的使用.         前台: 在工具箱中找到GridView控件,并把它拖拽到代码编辑区域.   第一步,进入设计界面,在GridView控件上方有一个向右的黑色小三角,单击这个按钮,选择编辑列,如图:          第二步,去掉自动

asp.net Gridview 的用法

留个档. <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"                                    Width="100%"  OnPageIndexChanging="GridView1_PageIndexChanging1"

asp.net GridView 表格之选中行

一.GridView 表格之选中行 asp.net选中行的功能最初以为只能通过属性中AllowGenerateSelectButton(运行时是否自动生成选择按钮)来实现,需要点击生成的选择按钮来操作,但这样使用并是很方便. 经寻找找到了改进办法如下效果 鼠标经过时背景色会改变,选中后可获取响应行的数据 实现方法如下: 首先前台设计属性框中事件绑定RowDataBound(在对时局进行了绑定后激发)事件 后台代码如下: /// <summary> /// 在对数据进行了绑定后激发 /// 主要

asp.net - GridView根据linkButton值不同跳转不同页面

一,当前页面中,前台界面的主要代码: <asp:TemplateField HeaderText="姓名"> <ItemTemplate> <!--根据id去寻找详细信息--> <asp:LinkButton id="hlinkName" runat="server" CommandName="getDetail" CommandArgument= '<%# Bind("

asp.net GridView 表格之分页显示与翻页功能及自定义翻页页码样式

一.实现分页功能  GridView实现分页只需要在属性框中将AllowPaging(是否在GridView中打开分页功能)设置为true即可 有时打开分页后不显示页码 确保AllowCustomPaging(是否打开对自定义分页的支持)为False即可 二.实现翻页功能  如何点击页码实现翻页呢? 在属性框中事件选择设置PageIndexChanging(在Grid View的当前索引页正在更改事触发)这一事件 后台代码如下 /// <summary> /// 翻页操作 /// 在GridV