【问题标题】:How do I move items from one gridview to another gridview?如何将项目从一个网格视图移动到另一个网格视图?
【发布时间】:2011-03-16 21:43:11
【问题描述】:

我有两个 gridview,当用户在第一个 gridview 上突出显示一行并单击一个按钮时,它应该移动到第二个 gridview。

当我点击添加记录的按钮时,它只添加我选择的最后一行(如果我选择 20 行,只添加最后一行)。

所有被选中的记录都应该被移动。

如何在 ASP.NET 中执行此操作?

【问题讨论】:

  • 你能分享一个代码吗?我们猜不出你写了什么。
  • 标签组合看起来很奇怪。
  • 请贴出您尝试过的代码。
  • 也许你可以通过使用复选框来实现这一点
  • @George:实际上我有两个网格,在第一个网格中默认显示一些结果,比如显示整个表格,现在我有一个搜索选项,每当用户搜索一些关键字时,第一个网格被重新填充,现在当用户从第一个网格中选择行时,它被添加到第二个网格......现在我的问题是如果用户选择了具有相同 id 的多行,那么应该只添加一个记录,并且如果用户再次选择同一行,则不应允许该用户。请回复一些决议。

标签: c# asp.net gridview


【解决方案1】:
private void button1_Click_1(object sender, EventArgs e)
{
    DataGridViewRow dr = dataGridView1.SelectedRows[0];

    dtItems.Columns.Add("city_ID");
    dtItems.Columns.Add("city_Name");
    dtItems.Columns.Add("status");
    dtItems.Columns.Add("date");

    if (dataGridView1.Rows.Count > 1)
    {
        for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
        {
            if (dataGridView1.Rows[i].Cells[0].Value != null)
            {
                DataRow row;
                row = dtItems.NewRow();

                row["city_ID"] = dataGridView1.Rows[i].Cells[1].Value.ToString();
                row["city_Name"] = dataGridView1.Rows[i].Cells[2].Value.ToString();
                row["status"] = dataGridView1.Rows[i].Cells[3].Value.ToString();
                row["date"] = dataGridView1.Rows[i].Cells[4].Value.ToString();

                dtItems.Rows.Add(row);
            }
        }
    }

    Form2 frm = new Form2(dtItems);
    frm.ShowDialog();
}

在 Form2 中复制此代码:

public Form2(DataTable dtIt)
{
    dtItems = dtIt;
    InitializeComponent();
}

private void AddEmptyRows()
{
    for (int i = 1; i <= 5; i++)
    {
        dataGV.Rows.Add();
    }
}

private void Form2_Load(object sender, EventArgs e)
{
    AddEmptyRows();

    for (int i = 0; i < dtItems.Rows.Count; i++) {
        dataGV.Rows[i].Cells[0].Value = dtItems.Rows[i]["city_ID"];
        dataGV.Rows[i].Cells[1].Value = dtItems.Rows[i]["city_Name"];
        dataGV.Rows[i].Cells[2].Value = dtItems.Rows[i]["status"];
        dataGV.Rows[i].Cells[3].Value = dtItems.Rows[i]["date"];
    }

    dataGV.Enabled = true;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 2015-06-25
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 2020-03-24
    相关资源
    最近更新 更多