【问题标题】:Adding a Row To a Child Gridview向子 Gridview 添加行
【发布时间】:2017-09-09 21:59:21
【问题描述】:

我正在尝试创建一个网页,该网页从一个网格视图中获取值并将这些值复制到另一个网格视图中。问题是我试图复制到的 gridview 嵌套在已经数据绑定的父 gridview 中。但是,每次页面加载时,父gridview都有一个函数rowDataBound,它将子gridview的复制数据覆盖到父子的原始状态。

Diagram of what my webpage should look like and how it should work

在将数据从一个网格视图复制到另一个网格视图后,如何防止 rowDataBound 触发?

我已经为此工作了一段时间,任何回复将不胜感激! 谢谢

【问题讨论】:

    标签: c# html sql asp.net


    【解决方案1】:

    我相信这是一个更好的观点。您应该在绑定到 GridView 之前处理数据。一种简单的解决方案是将数据作为 DataTable 获取并访问该行以获取相关行的数据源。

    DataTable myData = GetData();
    DataTable dataToInject = new DataTable();
    
    foreach(var row in myData.Rows) {
      if ((int)row["id"] ==  123) {
        dataToInject = (DataTable) row["data"];
      }
    }
    

    dataToInject 可以在右行的 rowDataBound 上传递,或者您在绑定到任何 GridView 之前预处理所有数据,我建议这样做。避免使用 rowDataBound 并在您的业务逻辑或应用程序的服务层中处理您的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多