У меня есть два вида сетки, и когда пользователь выделяет строку в первом представлении сетки и нажимает кнопку, он должен перейти ко второму виду сетки.

Когда я нажимаю кнопку, эта запись добавляется, но добавляется только последняя выбранная строка (если я выбираю 20 строк, добавляется только последняя).

Все выбранные записи должны быть перемещены.

Как это сделать в ASP.NET?

0
Abbas 17 Мар 2011 в 00:43
Не поделитесь кодом? Мы не можем угадать, что вы написали.
 – 
Snowbear
19 Мар 2011 в 00:23
Сочетание тегов выглядит странно.
 – 
Snowbear
19 Мар 2011 в 00:24
Пожалуйста, опубликуйте код, который вы пробовали.
 – 
George Stocker
19 Мар 2011 в 01:11
1
Может быть, вы можете добиться этого, используя флажки
 – 
Developer
19 Мар 2011 в 06:46
@George: на самом деле у меня есть две сетки, в первой сетке некоторые результаты отображаются по умолчанию, скажем, отображается целая таблица, теперь у меня есть опция поиска, всякий раз, когда пользователь ищет некоторые ключевые слова, первая сетка повторно заполняется, и теперь когда пользователь выбирает строку из первой сетки, она добавляется во вторую сетку... теперь моя проблема заключается в том, что если пользователь выбирает несколько строк с одним и тем же идентификатором, тогда следует добавить только одну запись, и пользователь не должен быть разрешен, если он снова выбирает ту же строку. Пожалуйста, ответьте с некоторыми резолюциями.
 – 
Abbas
20 Мар 2011 в 06:10

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;
}
1
nhahtdh 2 Июл 2012 в 13:15