zoukankan      html  css  js  c++  java
  • 编辑控件ASP.Net课堂实验5

    本文纯属个人见解,是对前面学习的总结,如有描述不正确的地方还请高手指正~

        1、 新建一个网站,在网站中新建一个”images”文件夹,将FTP中的a.jpg和e.jpg拷贝到images文件夹中。

        2、 新建test数据库,在test数据库中新建book_info表,结构如下:

        编辑和控件

           并向表中插入两条记录,两条记录中image_path字段的值分别为a.jpg和e.jpg在网站中的路径。

        3、 新建Gridview.aspx页面,通过GridView控件按照上面的格式表现book_info中的数据:

        编辑和控件

        当用户单击“详细信息”时(在超链接中表现“详细信息”不需设置HyperLinkField的“DataTextField”属性,只要设置”Text”属性的值为”详细信息”就行),导航到detail.aspx页面,在detail.aspx中表现该条记录的详细信息。

        4、 在GridView.aspx页面中,通过在GridView控件中手动添加代码来在控件中添加一个文本框:

        <asp:templatefieldheadertext="Type">

                    <itemtemplate>

                    <asp:TextBoxID="TextBox1"datasourceid="SqlDataSource1"

                       runat="server"Text='<%#Eval("book_id") %>'></asp:TextBox>

                     </itemtemplate>

                 </asp:templatefield>

          此段代码放置在<Columns>和</Columns>里,作用通过建立一个模版,在GridView控件中添加一列,此列中包括一个文本框,将文本框中绑定到book_id列。

        5、 参照PPT中的内容,添加gridview3.aspx页面,在此页面中只添加一个GridView控件。通过编程来实现在GridView中编辑数据。

        A、首先通过编程将book_info表中的数据通过GridView表现;

        B、再在GridView中添加“编辑”按钮:在”源“视图中在<Columns></Columns>中添加代码:

              <asp:CommandFieldShowEditButton="true"/>

        C、编辑GridView控件的RowEditing、RowUpdating、RowCancelingEdit事件。

           注:e.RowIndex  为被编辑行在GridView中的行号(从0开始)

              GridView1.Rows[e.RowIndex].  为GridView中被编辑的行。

               GridView1.Rows[e.RowIndex].Cells[1].   为GridView中被编辑的行的第2列。

              GridView1.Rows[e.RowIndex].Cells[1].Controls[0]为GridView中被编辑的行的第2列中的第一个控件。

         

        GridView.aspx

         

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridView.aspx.cs" Inherits="GridView" %>
    
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                DataKeyNames="book_id" DataSourceID="SqlDataSource1" 
                EnableModelValidation="True">
                <Columns>
                    <asp:BoundField DataField="book_name" HeaderText="book_name" 
                        SortExpression="book_name" />
                    <asp:BoundField DataField="author" HeaderText="author" 
                        SortExpression="author" />
                    <asp:BoundField DataField="price" HeaderText="price" SortExpression="price" />
                    <asp:ImageField DataImageUrlField="image_path" HeaderText="图片">
                    </asp:ImageField>
                    <asp:HyperLinkField HeaderText="详细信息" NavigateUrl="~/Default.aspx" 
                        Text="详细信息" />
                    <asp:templatefield headertext="Type">
                <itemtemplate>
                <asp:TextBox ID="TextBox1" datasourceid="SqlDataSource1"
                   runat="server" Text='<%# Eval("book_id") %>'></asp:TextBox>
                 </itemtemplate>
              </asp:templatefield>
    
    
    
    
    
    
                </Columns>
            </asp:GridView>
        </div>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:testConnectionString %>" 
            SelectCommand="SELECT * FROM [book_info]"></asp:SqlDataSource>
        </form>
    </body>
    </html>
        每日一道理
    心是一棵树,爱与希望的根须扎在土里,智慧与情感的枝叶招展在蓝天下。无论是岁月的风雨扑面而来,还是滚滚尘埃遮蔽了翠叶青枝,它总是静默地矗立在那里等待,并接受一切来临,既不倨傲,也不卑微。
      心是一棵树,一个个故事被年轮携载;一回回驿动与飞鸟相约;一次次碰撞使它绵密柔韧;一幕幕经历造就了它博广的胸怀。心是一棵树,独木不成林。因此,树与树既独立又相联,心与心既相异又相亲。

        

        gridview3.aspx

        

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridView3.aspx.cs" Inherits="GridView3" MaintainScrollPositionOnPostback="True" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
        <asp:GridView ID="GridView1" runat="server" EnableModelValidation="True" 
                onrowcancelingedit="GridView1_RowCancelingEdit" 
                onrowediting="GridView1_RowEditing" onrowupdating="GridView1_RowUpdating" 
                >
            <Columns>
                <asp:CommandField ShowEditButton="True" />
            </Columns>
            
        </asp:GridView>
        </div>
        </form>
    </body>
    </html>

          gridview3.aspx.cx

        

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.SqlClient;
    using System.Configuration;
    using System.Data;
    
    public partial class GridView3 : System.Web.UI.Page
    {
        //创立连接对象
        public SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["testConnectionString"].ConnectionString);
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                myBind();
            }  
        }
    
    
        /// <summary>
        /// GridViews数据绑定
        /// </summary>
        public void myBind()
        {
            string sqlStr = "select * from book_info";
            SqlDataAdapter myDataAdapter = new SqlDataAdapter(sqlStr, conn);
            DataSet myDataSet = new DataSet();
            myDataAdapter.Fill(myDataSet, "book_info");
            GridView1.DataSource = myDataSet;
            GridView1.DataBind();
        }
    
        //编辑
        protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
            //设计编辑行的索引
            GridView1.EditIndex = e.NewEditIndex;
            myBind();
        }
        //更新
        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            string book_id = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString();
            string book_name = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString();
            string author = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString();
            string press = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString();
            string price = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString();
            string image_path = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[6].Controls[0])).Text.ToString();
    
            string sqlStr = "update book_info set book_name=@book_name,author=@author,press=@press,price=@price,image_path=@image_path where book_id=@book_id";
            SqlParameter[] parameters = {new SqlParameter("@book_id", Convert.ToInt32(book_id)),
                                        new SqlParameter("@book_name",book_name), 
                                        new SqlParameter("@author", author),
                                        new SqlParameter("@press",press),
                                        new SqlParameter("@price",Convert.ToInt32(price)),
                                        new SqlParameter("@image_path", image_path)};
    
    
            string sql = ConfigurationManager.ConnectionStrings["testConnectionString"].ConnectionString;
            using (SqlConnection conn = new SqlConnection(sql))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sqlStr;
                    cmd.Parameters.AddRange(parameters);
                    cmd.ExecuteNonQuery();
                }
            }
            GridView1.EditIndex = -1;
            myBind();
        }
        //取消操作
        protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            GridView1.ShowFooter = false;
            GridView1.EditIndex = -1;
            myBind();
        }
    }

    文章结束给大家分享下程序员的一些笑话语录: 刹车失灵
    有一个物理学家,工程师和一个程序员驾驶着一辆汽车行驶在阿尔卑斯山脉 上,在下山的时候,忽然,汽车的刹车失灵了,汽车无法控制地向下冲去, 眼看前面就是一个悬崖峭壁,但是很幸运的是在这个悬崖的前面有一些小树 让他们的汽车停了下来, 而没有掉下山去。 三个惊魂未定地从车里爬了出来。
    物理学家说, “我觉得我们应该建立一个模型来模拟在下山过程中刹车片在高 温情况下失灵的情形”。
    工程师说, “我在车的后备厢来有个扳手, 要不我们把车拆开看看到底是什么 原因”。
    程序员说,“为什么我们不找个相同的车再来一次以重现这个问题呢?”

    --------------------------------- 原创文章 By 编辑和控件 ---------------------------------

  • 相关阅读:
    加载第三方Cocoapod库时到项目时
    IOS seachbar 收回键盘
    设置tableView 的Section的title问题
    UISearchView
    UICollectionView 头视图、 尾视图以及Cell自定制
    UICollectionView
    Tomcat上java.lang.IllegalStateException: Optional int parameter 'id' is not present
    格式化p6spy的输出日志
    bootstrap fileinput添加上传成功回调事件
    条件注释判断浏览器<!--[if !IE]>
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3095508.html
Copyright © 2011-2022 走看看