`
csstome
  • 浏览: 1542303 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

DataGrid 中UpdateCommand 不更新应注意..

阅读更多

DataGrid 中UpdateCommand 不更新应注意..

代码:

Protected Sub DataGrid_MenuList_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid_MenuList.UpdateCommand

Dim LevelID As DropDownList = CType(e.Item.Cells(0).Controls(1), DropDownList)

Dim Status As DropDownList = CType(e.Item.Cells(4).Controls(1), DropDownList)

Dim id = Convert.ToInt32(DataGrid_MenuList.DataKeys(e.Item.ItemIndex).ToString)

Dim Menu_ID As String = CType(e.Item.Cells(1).Controls(0), TextBox).Text

Dim Menu_Name As String = CType(e.Item.Cells(2).Controls(0), TextBox).Text

Dim Url As String = CType(e.Item.Cells(3).Controls(0), TextBox).Text

Dim sql As New System.Text.StringBuilder

sql.Append("UPDATE TB_Menu SET Index_ID='" & LevelID.SelectedValue & "', Menu_Name='" & Menu_Name & "', Url='" & Url & "', Status='" & Status.SelectedValue & "', Last_Modified_User='Lilo', Last_Modified_Date='" & Now.ToString("yyyy-MM-dd") & "' ")

sql.Append("WHERE Menu_ID ='" & Menu_ID & "'")

Live.Ado.ADOProxy.UpdateRowByQuery(sql.ToString)

DataGrid_MenuList.EditItemIndex = -1

BindMenu()

End Sub

单纯的看这段代码里没有凭问题的,

取绑定值的方法也完全正确,如果DataGrid 中没有绑定其它控件,则为CType(e.Item.Cells(1).Controls(0), TextBox).Text , 注:Cell(1) 当前行的第2 个单元格,起始是从第0记数的, Controls(0) 代表是没有取绑定控件

CType(e.Item.Cells(0).Controls(1), DropDownList)

表示取当前编辑行 的绑定控件,绑定的控件为DropDownList

问题:Update 到数据库,并无任何变化

单步调试,可以看到程序没有取到最新输入的值

<shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype><shape id="_x0000_i1027" style="WIDTH: 414.75pt; HEIGHT: 104.25pt" type="#_x0000_t75"><imagedata src="file:///C:%5CDOCUME~1%5Cwei_zhu%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.png" o:title=""></imagedata></shape>

<shape id="_x0000_i1026" style="WIDTH: 414.75pt; HEIGHT: 79.5pt" type="#_x0000_t75"><imagedata src="file:///C:%5CDOCUME~1%5Cwei_zhu%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image003.png" o:title=""></imagedata></shape>

当然到更新到数据库也不会有何变化

问题解决:

这里你应该检查page_load里没有对ispostback做判断处理

将绑定数据放入 Not ispostBack 内:

If Not IsPostBack Then

BindMenu()

End If

这个跟Asp.net 的页面调用顺序相关的,如果没有调Ispostback ,导致datagrid重新绑定,覆盖了修改的结果。

分享到:
评论

相关推荐

    适合初学者的datagrid的操作_aspx开发教程.rar

    在ASP.NET Web应用程序开发中,`DataGrid`控件是一个非常重要的组件,它允许开发者将数据库中的数据以表格的形式展示给用户。对于初学者来说,理解并熟练掌握`DataGrid`的操作是迈进Web开发大门的关键步骤。这个教程...

    使用c#+(datagrid控件)编辑xml文件.docx

    - `UpdateCommand`事件:处理更新操作,获取Datagrid中编辑的行数据,更新原始数据集,然后重新加载数据。 4. **添加、删除和修改记录**: - 添加记录:创建一个新的`DataRow`,设置其字段值,然后插入到数据集的...

    把Excel文件中的数据读入到DataGrid中

    注意:对于Excel 2007或更高版本,应使用`Microsoft.ACE.OLEDB.12.0`提供商,并且路径可能需要更新。 2. **创建数据库连接**:使用连接字符串创建`OleDbConnection`对象,以便与Excel文件进行交互。 ```csharp ...

    DataGrid连接Oracle

    2. **数据修改**:当用户在 `DataGrid` 中修改了某行数据后,可以使用 `OracleCommand` 更新相应的数据库记录,使用 `UpdateCommand` 属性定义SQL UPDATE语句,并调用 `OracleDataAdapter.Update()` 方法提交更改。...

    datagrid的增删改

    在.NET开发领域,`datagrid`控件是一种常用的数据展示和操作工具,特别是在Web应用程序中。本教程将通过一个简单的示例来阐述如何实现`datagrid`的增删改功能,主要涉及的技术点包括ASP.NET页面生命周期、数据绑定...

    DataGrid用法

    在.NET框架中,DataGrid控件是一个非常实用的组件,尤其在处理数据展示和操作时。这个控件允许用户在Web应用中展示表格形式的数据,并提供了编辑、更新、删除和分页功能,使得数据交互更加直观和高效。下面将详细...

    asp.net-datagrid控件实例

    在ASP.NET中,`DataGrid`控件是一个强大的数据展示工具,它允许开发者以表格的形式展示来自数据库或其他数据源的数据。本实例将深入讲解如何使用`DataGrid`控件连接数据库并展示数据。 1. **DataGrid控件简介** `...

    ASP.NET_DataGrid_增删改查

    在DataGrid.aspx.cs文件中,你需要编写处理这些事件的后台代码,例如,处理InsertCommand、DeleteCommand和UpdateCommand事件。在这些事件处理程序中,通常会涉及到与数据库的交互,如执行SQL语句或者调用业务层方法...

    DataGrid的列操作个人总结

    - 不同的命令(如编辑、更新、删除)有对应的处理方法,如`DataGrid1_EditCommand`、`DataGrid1_UpdateCommand`和`DataGrid1_DeleteCommand`。 5. **编辑和更新操作**: - `EditCommandColumn`用于开启编辑模式,...

    ADO DataGrid 数据库全操作

    在这个主题中,我们将深入探讨ADO DataGrid如何进行数据库的全面操作。 1. **ADO对象模型** 在使用ADO DataGrid之前,我们需要了解ADO(ActiveX Data Objects)的基础。ADO是Microsoft提供的数据访问接口,用于与...

    DataGrid的用法

    在ASP.NET开发中,DataGrid控件是一种非常实用的组件,用于展示数据并进行交互操作。这个控件自.NET Framework 1.1版本以来就已经存在,是Web Forms中用于显示和编辑表格数据的标准工具。本篇文章将深入探讨DataGrid...

    ASP.NET源码——适合初学者的datagrid的操作.zip

    在用户提交更改后,使用UpdateCommand事件处理更新操作,并调用数据源的Update方法保存更改。 此外,分页和排序也是DataGrid的重要特性。通过设置AllowPaging属性为True并配置PageSize属性,可以实现分页。而通过...

    ASP.NET应用:DataGrid使用最佳实践代码

    ASP.NET中的DataGrid控件是Web开发中常用的数据展示组件,尤其在构建数据密集型的Web应用程序时。本文将深入探讨DataGrid的使用最佳实践,旨在帮助开发者优化性能,提高用户体验,同时保持代码的可维护性和灵活性。 ...

    C#访问SQL显示到DataGridView,同时根据DataGridView实时更新数据库

    在C#编程环境中,开发人员经常需要处理与数据库交互的任务,比如从数据库中获取数据并显示在用户界面,以及根据用户界面的修改实时更新数据库。本教程将详细讲解如何使用C#来访问SQL数据库,将数据展示在...

    DataGrid和GridView的编辑删除分页等功能

    在实际应用中,如果项目需求简单且不注重样式定制,DataGrid可能是一个快速上手的选择。然而,对于需要更高级功能和更好用户体验的项目,GridView无疑是更好的选择,因为它提供了更多的灵活性和控制权。 在学习和...

    C#与access连接方法

    updateCommand.ExecuteNonQuery(); ``` 在这个例子中,我们创建了一个更新命令,该命令将表`Authors`中`Authors`为`Simson`的记录更新为`Bennett`。 ##### 2.4 删除数据 删除记录同样可以通过执行SQL命令实现: ...

    酒店系统管理C#语言开发的

    this.da1.UpdateCommand = this.sqlUpdateCommand1; // // sqlConnection1 // this.sqlConnection1.ConnectionString = "Data Source=.\\sqlexpress;Initial Catalog=hotelbook;Integrated Security=...

    C# 源码 教务管理系统

    this.da1.UpdateCommand = this.sqlUpdateCommand1; // // sqlSelectCommand1 // this.sqlSelectCommand1.CommandText = "SELECT 班级编号, 年级, 班级名称, 班级简称, 人数, 班主任 FROM 班级信息...

    教务管理系统 成品

    this.da1.UpdateCommand = this.sqlUpdateCommand1; // // sqlSelectCommand1 // this.sqlSelectCommand1.CommandText = "SELECT 班级编号, 年级, 班级名称, 班级简称, 人数, 班主任 FROM 班级信息 WHERE ...

    WA.zip_wpf access_wpf数据库

    updateCommand.Parameters.AddWithValue("@ID", 1); connection.Open(); updateCommand.ExecuteNonQuery(); connection.Close(); ``` - **查询(Select)**: 可以使用SELECT语句获取数据,比如查询所有用户: ```...

Global site tag (gtag.js) - Google Analytics