asp.net自定义Gridview,仅对单击的单元格切换到编辑模式

哈立德·泰米尔

我正在尝试创建自定义GridView服务器控件,因为我只想进入所选单元格的编辑模式。这是我的代码,但它不起作用

  protected override void Render(HtmlTextWriter writer)
    {
        foreach (GridViewRow r in this.Rows)
        {
            if (r.RowType == DataControlRowType.DataRow)
           {
                for (int columnIndex = 0; columnIndex < r.Cells.Count; columnIndex++)
                {
        r.Cells[columnIndex].Attributes["onclick"] = Page.ClientScript.GetPostBackClientHyperlink(this, "Edit$" + r.Cells[columnIndex], true);

                }
           }
        }
        base.Render(writer);  

    }

任何人都可以帮助请。

Fnostro

默认情况下,Gridview仅允许您一次编辑一行。而且,假设您的所有列均未标记,则每一行都是全有或全无ReadOnly

其次,edit事件本身是基于行而不是基于单元的,因此要获得所需的功能,您将必须创建自己的更新例程,该例程在每一行的每个单元格中移动并相应地更新数据存储

我想说的是,仅仅因为您可以做某事并不一定意味着您应该做这是非常广泛使用的控件的完全可憎。因此,IMO可以做到这一点,这证明了控制设计人员的正确性。

在Gridview的设计器中,将所有可编辑字段转换为模板字段,并且不要添加任何“选择/编辑/更新/删除/插入”命令控件。这些是基于行的操作,您要避免这种情况,尤其是“编辑”。您将必须编写自己的例程-参见上文

然后切换到“源代码”视图(从此处进行下一部分操作会更容易)

  1. 删除的内容<ItemTemplate>
  2. <EditItemTemplate>s的内容移至<ItemTemplate>
  3. 删除所有<EditItemTemplate>的-在这一点上它们是不必要的
  4. 使每个可编辑控件为只读,即: <asp:TextBox ID="tbxWhatever" runat="server" Text='Bind("some_field_name")' ReadOnly="True"

现在,您在上方完成的操作是将“编辑”模式控件移至GridView的通常为ReadOnly的部分。随意更改或使用任何适合您目的的控件。

要获得所需的功能,您需要添加一个启用控件的js事件处理程序。我建议onclick通过RowCreated事件处理程序添加到每个可编辑控件中,例如

<asp:TextBox ID="tbxWhatever" runat="server" Text='Bind("some_field_name")' 
        Enabled="False" 
        onclick="EnableMe(this)"

背后的代码(VB):

Private Sub Gridview1_RowCreated(sender As Object, e As GridViewRowEventArgs) Handles Gridview1.RowCreated
    dim gv as GridView = sender
    dim tbx as TextBox = gv.FindControl("tbxWhatever")
    tbx.Attributes.Add("onclick", "EnableMe(this);")
End Sub

在某些<script>标签或关联的.js代码文件中,这是这样的:

function EnableMe( elem ) {
  elem.readOnly= (! elem.readOnly);
}

最后,您必须在页面上的某个位置放置一个保存按钮。如果您使用标准的Button或ImageButton,则应该没问题。CommandName参数设置为合适的值,并Command在后面的代码中处理按钮的事件。在这里执行自定义保存例程。

祝你好运。

PS:关于您希望创建在单元级别运行的GridView的某些派生版本,您想要的更像是Spreadsheet或DataGrid,而不是asp:Gridview。您可能想找到一个更好的起点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

编辑行GridView ASP.NET的自定义样式

来自分类Dev

在asp.net的gridview(不是datagridview)中获取单击的单元格索引

来自分类Dev

asp.net gridview命令字段和自定义编辑

来自分类Dev

创建自定义删除并使用asp.net在gridview中进行编辑?

来自分类Dev

在ASP.NET中自定义GridView布局

来自分类Dev

仅用单元格高度的10%用颜色填充gridview asp.net单元格的背景?

来自分类Dev

asp.net gridview如果单元格行值相等,则

来自分类Dev

如何在ASP.NET中将特定文本添加到gridview单元格值

来自分类Dev

gridview中的单元格值未进入asp.net

来自分类Dev

如何获取单元格的值指定GridView ASP.NET

来自分类Dev

如何在ASP.NET中将特定文本添加到gridview单元格值

来自分类Dev

ASP.Net GridView样式-不可见的单元格衬里

来自分类Dev

如何在asp.net中更改GridView单元格的颜色

来自分类Dev

在gridview单元格工具提示ASP.net/C#中显示列的名称

来自分类Dev

在ASP.NET GridView中为所有空单元格着色

来自分类Dev

无法从 gridview 中的行单元格中删除属性 | asp.net

来自分类Dev

asp.net C# Gridview 包含数据但只返回单元格值 = ""

来自分类Dev

使单元格在 asp gridview 中可点击

来自分类Dev

ASP.Net单击以获取代码背后的HTML单元格值

来自分类Dev

asp.net自定义错误

来自分类Dev

不使用LINQ和EF从ASP.NET切换到ASP MVC

来自分类Dev

ASP.net gridview编辑模式下的下拉列表问题

来自分类Dev

快速切换UITableView中的自定义单元格

来自分类Dev

在asp.net gridview中使用ROW_NUMBER()在SQL中进行自定义分页

来自分类Dev

Sitecore asp.net编辑自定义用户配置文件属性

来自分类Dev

ASP.NET MVC Kendo网格的编辑自定义编辑器和批处理编辑之间的区别

来自分类Dev

向 ASP GridView 添加自定义链接按钮

来自分类Dev

ASP VB.NET GridView:使用AutogenerateColumn = True通过列标题名称更改Column单元格文本

来自分类Dev

如何使用asp vb.net根据条件更改在GridView中绑定的单元格值?

Related 相关文章

  1. 1

    编辑行GridView ASP.NET的自定义样式

  2. 2

    在asp.net的gridview(不是datagridview)中获取单击的单元格索引

  3. 3

    asp.net gridview命令字段和自定义编辑

  4. 4

    创建自定义删除并使用asp.net在gridview中进行编辑?

  5. 5

    在ASP.NET中自定义GridView布局

  6. 6

    仅用单元格高度的10%用颜色填充gridview asp.net单元格的背景?

  7. 7

    asp.net gridview如果单元格行值相等,则

  8. 8

    如何在ASP.NET中将特定文本添加到gridview单元格值

  9. 9

    gridview中的单元格值未进入asp.net

  10. 10

    如何获取单元格的值指定GridView ASP.NET

  11. 11

    如何在ASP.NET中将特定文本添加到gridview单元格值

  12. 12

    ASP.Net GridView样式-不可见的单元格衬里

  13. 13

    如何在asp.net中更改GridView单元格的颜色

  14. 14

    在gridview单元格工具提示ASP.net/C#中显示列的名称

  15. 15

    在ASP.NET GridView中为所有空单元格着色

  16. 16

    无法从 gridview 中的行单元格中删除属性 | asp.net

  17. 17

    asp.net C# Gridview 包含数据但只返回单元格值 = ""

  18. 18

    使单元格在 asp gridview 中可点击

  19. 19

    ASP.Net单击以获取代码背后的HTML单元格值

  20. 20

    asp.net自定义错误

  21. 21

    不使用LINQ和EF从ASP.NET切换到ASP MVC

  22. 22

    ASP.net gridview编辑模式下的下拉列表问题

  23. 23

    快速切换UITableView中的自定义单元格

  24. 24

    在asp.net gridview中使用ROW_NUMBER()在SQL中进行自定义分页

  25. 25

    Sitecore asp.net编辑自定义用户配置文件属性

  26. 26

    ASP.NET MVC Kendo网格的编辑自定义编辑器和批处理编辑之间的区别

  27. 27

    向 ASP GridView 添加自定义链接按钮

  28. 28

    ASP VB.NET GridView:使用AutogenerateColumn = True通过列标题名称更改Column单元格文本

  29. 29

    如何使用asp vb.net根据条件更改在GridView中绑定的单元格值?

热门标签

归档