从网格视图传递一行到另一个网格视图asp.net c#

时间:2014-12-09 21:14:24

标签: c# asp.net sql-server

我想知道如何传递数据,这是同一Web表单中从Grid View1到Grid View2的一行!我创建了两个表,第一个包含四列并包含记录:Id,名称,地址和年龄。 我还创建了第二个表单,它还包含四列:Id,名称,地址和年龄,但是为了从第一个表传输数据而留空。 我想知道是否可以从Grid view1中选择一行然后单击一个按钮,该按钮可以将所选行传递给Grid View2!在将发送按钮发送到第二个网格视图后,每次添加一行,并保证将数据添加到第二个表中!

非常感谢任何有关如何做到这一点的想法。

1 个答案:

答案 0 :(得分:0)

我将概述您可能想要采取的一些步骤

我假设您使用存储记录的DataSetDataTable

  • 使用gridview的eventHandler,例如CellClick,其中大多数都有e.RowIndex值,您可以使用它来获取所选行的索引

像这样:

    private void dg1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
            selectedIndex = e.RowIndex;
    }
  • 使用该索引从该记录中获取id,以便您知道您正在谈论的数据
像这样:

int id = Convert.ToInt32(dataset1.Tables[0].Rows[selectedIndex][0]);

然后只需按id找到行或使用上面的知识来组合

DataRow row = dataset1.Tables[0].Rows.Find(Id);
dg2.Rows.Add(row);

最好使用数据集并为datagridview提供数据源到该数据集,不确定您的意图是什么

  • 您还可以从您选择的行中获取id,基于您调用另一个sqlCommand来获取当前行,如果您希望从依赖的数据库加载更多数据,这是一个好方法id