如何以编程方式在 GridView 中插入行?

2023-11-21

我在 asp.net 2.0 中有一个带有行选择链接的数据绑定 GridView。当选择一行时,我想以编程方式在所选行下方添加一个表格行,以便嵌套另一个网格等。

我正在为客户和一篇文章研究这个问题,我认为今晚我的谷歌能力不强。有什么建议么?

编辑:我实际上有一个可行的解决方案,但 Visual Studio 不知何故搞砸了;关闭并重新打开 VS 并重建所有内容解决了问题;-)

我的解决方案发布在下面,如果可能的话请告诉我如何改进。谢谢!


我想我明白了。这是一个似乎有效的解决方案。它可以使用用户控件进行改进,但这就是它的要点:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow && 
        (e.Row.RowState & DataControlRowState.Selected) > 0)
    {
        Table tbl = (Table)e.Row.Parent;
        GridViewRow tr = new GridViewRow(e.Row.RowIndex + 1, -1,
            DataControlRowType.EmptyDataRow, DataControlRowState.Normal);
        TableCell tc = new TableCell();
        tc.ColumnSpan = GridView1.Columns.Count;
        tc.Controls.Add(
            makeChildGrid(Convert.ToInt32(
                ((DataRowView)e.Row.DataItem)["ROW_ID_FIELD"])));
        tr.Cells.Add(tc);
        tbl.Rows.Add(tr);
    }
}

protected GridView makeChildGrid(int id)
{
    GridView gv = new GridView();
    SqlDataSource sqlds = new SqlDataSource();
    sqlds.DataSourceMode = SqlDataSourceMode.DataSet;
    sqlds.ConnectionString = SqlDataSource1.ConnectionString;
    sqlds.SelectCommand = "SELECT * from MY_TABLE_NAME " +
        "WHERE KEY_FIELD = " + id.ToString();
    DataView dv = (DataView)sqlds.Select(DataSourceSelectArguments.Empty);
    gv.DataSource = dv;
    gv.DataBind();    //not sure this is necessary...?
    return gv;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以编程方式在 GridView 中插入行? 的相关文章

随机推荐

  • 动态扩展应用程序的功能?

    我最近遇到一个way在使用 ASP NET MVC3 4 时开发可插入应用程序模块 我喜欢这种方法的简单性 目前 我的应用程序结构如下 因此 任何想要为我的应用程序开发扩展的人都可以遵循上面的方法tutorial并创建一个保留在Areas文
  • pip 和 conda 有什么区别?

    I know pip是 python 包的包管理器 但是 我在IPython的网站上看到安装使用conda安装 IPython 我可以用吗pip安装IPython 我为什么要使用conda作为另一个 python 包管理器 当我已经有了pi
  • 告诉 gdb 跳过标准文件

    我正在使用 GDB 调试 C 代码 当它进入某个包含标准库对象的对象的构造函数时 它会向我显示这些对象的构造函数 例如std map 以及下面的所有内容 我知道关于next运算符 但我更愿意将任何标准库代码基本上列入黑名单 这永远不是我正在
  • m2e Eclipse indigo 给出错误

    我已经在没有eclipse的情况下在本地设置了Maven项目 它已成功完成 现在我已经下载了 Eclipse indgo 3 7 0 由于 Eclipse indigo 具有 m2e maven 2 eclipse plugin 启用它 E
  • 使用 JAXB 的具有属性和内容的 XML 元素

    如何使用 JAXB 生成以下 XML
  • java中永久持久的Socket连接

    我创建了一个客户端 服务器连接 类似于聊天系统 以前我使用的是while在客户端循环 每次都在等待从控制台读取消息 当然服务器有一个while循环以及永远服务 但现在 我尝试首先在会话开始时创建连接 然后在会话期间偶尔发送消息 以便保持永久
  • 对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成

    我想使用 VB net 中的 DataGridView 更新 编辑数据库 MS Access 中的数据 我使用了这段代码 Dim sadapter As OleDb OleDbDataAdapter Dim sds As DataSet s
  • 如何在scala / play中将casbah mongodb列表转换为json

    我目前正在学习scala和mongodb并使用play 框架 所以当我思考问题时 我会犯各种各样的错误 目前我有一个 scala 对象 它返回通过 casbah 从 mongodb 查询返回的数据库对象列表 如下所示 object Aler
  • PHP 库将 JSON 转换为 CSV?

    我有一个 JSON 服务 需要创建一个脚本将数据导出到 CSV 文件 有没有人可以建议将 JSON 迁移到 CSV 格式的方法或库 这是一个示例格式 但我希望必须改进解决方案才能使用它 service name key value key
  • 警告问题:期望参数 1 为 mysqli_result [重复]

    这个问题在这里已经有答案了 我收到下面列出的以下警告 我想知道如何修复它 Warning mysqli fetch array expects parameter 1 to be mysqli result boolean given on
  • 获取父片段 API 16

    我们都知道getParentFragment of FragmentAPI 17 中引入 那么如果我们想在 API 16 及以下版本中获取父片段怎么办 考虑到我使用的是原生Fragment有支持FragmentStatePagerAdapt
  • 如何测量 .NET 中多个并发线程的代码块(线程)执行时间

    现在我们只使用这样的东西 stopWatch Start try method finally stopWatch Stop 这对于同步方法来说效果很好 但有些方法是异步执行的 因此当多个线程执行时时间会出现偏差 是否有与 System D
  • 将Excel数据表加载到Oracle数据库

    我正在寻找一个免费工具来将 Excel 数据表加载到 Oracle 数据库中 我尝试了 Oracle SQL Developer 但它不断抛出 NullPointerException 有任何想法吗 Excel gt CSV gt Orac
  • 离散搜索栏

    我正在尝试创建一个离散搜索栏对于 Android 应用程序 我知道我可以设置最大值和最小值SeekBar 我理想的解决方案是Click示例如下 但我希望该栏以特定的间隔在滑块上上下移动 在我的例子中每 10 次 所以唯一可用的选项SeekB
  • ASP.NET MVC - 从控制器查找 App_Data 文件夹的绝对路径

    在 ASP NET MVC 项目中从控制器查找 App Data 文件夹的绝对路径的正确方法是什么 我希望能够暂时使用 xml 文件 并且不想对路径进行硬编码 这不起作用 HandleError public class HomeContr
  • 如何检查Excel中的日期单元格是否为空?

    如果感觉这应该很容易 但如果不再次检索单元格的值 我就无法让它工作 首先 我有 2 个日期单元格 Dim agreedDate As Date Dim completedDate As Date 这有效 但看起来很乱 agreedDate
  • 使用 JDT 以编程方式格式化源代码

    我正在使用 JDT 生成一些类 之后 我想格式化整个 ICompilationUnit 就像我在打开的编辑器中按 Ctrl Shift F 源 gt 格式 而不进行选择一样 高度赞赏 JDT 中用于以编程方式格式化源代码的 API 的任何指
  • 字符数组作为 C++ 映射中的值

    我想定义类似的东西 Map
  • 错误:RPC 失败; curl 92 HTTP/2 流 0 未完全关闭:PROTOCOL_ERROR (err 1)

    错误 RPC 失败 curl 92 HTTP 2 流 0 未完全关闭 PROTOCOL ERROR err 1 我在写 git 时尝试了 推 但是 以下消息并不能解决问题 您可以强制 git 使用 http 版本 1 1 git confi
  • 如何以编程方式在 GridView 中插入行?

    我在 asp net 2 0 中有一个带有行选择链接的数据绑定 GridView 当选择一行时 我想以编程方式在所选行下方添加一个表格行 以便嵌套另一个网格等 我正在为客户和一篇文章研究这个问题 我认为今晚我的谷歌能力不强 有什么建议么 编