本文介绍了ASP.NET - 以编程方式使用 GridView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我继续这篇文章.
经过多次谷歌搜索,我想出了这个代码来以编程方式编辑单元格:
使用系统;使用 System.Data;使用 System.Configuration;使用 System.Collections;使用 System.Web;使用 System.Web.Security;使用 System.Web.UI;使用 System.Web.UI.WebControls;使用 System.Web.UI.WebControls.WebParts;使用 System.Web.UI.HtmlControls;使用 Ice_Web_Portal.BO;命名空间 GridView___Test{公共部分类 _Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){GridView1.DataSource = Course.GetCourses();GridView1.DataBind();}protected void GridView1_RowEditing(对象发送者,GridViewEditEventArgs e){GridViewRow 行 = GridView1.Rows[e.NewEditIndex];GridView1.EditIndex = e.NewEditIndex;GridView1.DataSource = Course.GetCourses();GridView1.DataBind();}受保护的无效 GridView1_RowUpdating(对象发送者,GridViewUpdateEventArgs e){TextBox txtID = (TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0];TextBox txtCourseCode = (TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0];TextBox txtCourseName = (TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0];TextBox txtCourseTextBookCode = (TextBox)GridView1.Rows[e.RowIndex].Cells[4].Controls[0];课程项目 = 新课程();item.ID = Convert.ToInt32(txtID.Text);item.CourseCode = txtCourseCode.Text;item.CourseName = txtCourseName.Text;item.TextBookCode = txtCourseTextBookCode.Text;bool 成功 = Course.Update(item);labMessage.Text = success.ToString();GridView1.EditIndex = -1;GridView1.DataSource = Course.GetCourses();GridView1.DataBind();}}}
但是有两个问题正在发生.
(1) 我需要按两次命令按钮来编辑/更新.
(2) 单元格值的更改不会在数据库中更新.IE.编辑的单元格值未提交.
谁能给我一个解决方案?
更新:我的解决方案是这样的:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="GridView___Test._Default" %><!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="服务器"><title>无标题页</title>头部><身体><form id="form1" runat="server"><div><asp:GridView ID="GridView1" runat="server" Font-Names="Verdana" Font-Size="Small" AutoGenerateColumns="False" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowCommand="GridView1_RowCommand" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating"></asp:GridView>