【问题标题】:C#.Net : Edit and Update the dynamically bound grid viewC#.Net:编辑和更新动态绑定的网格视图
【发布时间】:2011-07-21 05:38:15
【问题描述】:

在我的网站中,我根据下拉列表中的值将数据源动态绑定到网格。

我想编辑和更新网格视图中的值,相应的更新应该在原始数据库中完成。

我该怎么做?

【问题讨论】:

    标签: c# .net asp.net .net-3.5 datagrid


    【解决方案1】:

    以最基本和最直接的方式,您使用数据网格的OnUpdateCommand 事件来调用服务器站点处理程序。该处理程序将收到一个 DataGridCommandEventArgs 参数,其中包含一个 Item 属性,该属性是具有更新值的网格行。从该行检索键和新值并构建相应的更新命令。

    【讨论】:

    • @mmix:感谢您的意见。在我的情况下,数据网格中的值可能会根据下拉列表中选择的表而有所不同。那么如何在 OnUpdateCommand 中编写更新语句呢?我在下拉列表中有多达 20 个选项,每个选项代表一个不同的表。在这种情况下可以做什么?
    • 您也必须加快该信息的速度,我看到的最简单的方法是在更新事件中实际检查下拉列表中的值。下拉列表的服务器端表示将告诉您选择了哪个选项来加载表,之后您可以使用相同的逻辑来确定要在更新命令中使用的表的名称。
    • 你能举一些小例子来帮助我理解你到底建议我做什么吗?
    • msdn.microsoft.com/en-us/library/… 用于事件。在事件内部,您必须确定要更新哪个表,您可以使用与首先决定从哪个表加载数据相同的代码(最简单的是if option1 use table1 elseif option2 use table2, etc, etc.。然后为该表构建一个命令。我不能给你一个例子,因为我不知道你用什么逻辑来加载表格。
    • 所以你的意思是说我应该20个if条件来检查20个表?这不会降低性能吗?
    【解决方案2】:

    你知道如何绑定dropdownlist vai datasourase吗? 和你使用的女巫数据源先告诉我。

    否则,您只需进行 SELECT 查询填充 数据集,之后您必须像这样绑定下拉列表......

    ds = dropdownlist.DataBind();
    

    我认为这对你有帮助....... 否则你可以告诉我这段代码是否有问题............

    【讨论】:

    • 是的,我没有静态数据源,我所做的只是根据下拉列表值动态创建数据源。所以数据绑定不是问题,但我的问题是我怎么知道哪个值正在更新?因为根据下拉列表中的值,同一个网格可能包含来自不同表的值
    • 更新是指更新特定值,不包括主键和自动生成 ID
    • 当您当时进行 SELECCT 查询时,它还会获得该行具有 ID 的行,您只需在标签中显示该 ID,这样您就可以找到其中的 ID 已通过....
    猜你喜欢
    • 2014-10-07
    • 1970-01-01
    • 2016-03-31
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多