Скопируйте все данные из одного вида сетки в другой, но те из первой сетки, которые отмечены - PullRequest
1 голос
/ 30 января 2010

У меня есть две сетки на одной странице. Первая сетка содержит данные и имеет включенные флажки. После нажатия кнопки я хочу скопировать только данные, помеченные галочкой, в другую сетку.

Я сделал это - но он копирует один элемент из первой сетки во вторую. Пожалуйста, помогите.

Мой код:

int RowNo = 0;        
foreach (GridViewRow row in GridView1.Rows)
{
    RowNo = RowNo + 1;
    bool Checkbox = ((CheckBox)row.FindControl("CheckBox1")).Checked;

    if (Checkbox = true)
    {
        SqlConnection myConn = new SqlConnection();
        myConn.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\eRashshala.mdf;Integrated Security=True;User Instance=True";
        myConn.Open();

        GridViewRow Row = GridView1.Rows[RowNo - 1];
        String Name = Row.Cells[2].Text;                   
        SqlDataAdapter da = new SqlDataAdapter("Select LatinName,IngName,MaterialForm from IngredientInfo Where IngName='" + Name + "'", myConn);
        DataSet ds = new DataSet();
        da.Fill(ds, "IngredientInfo");
        GridView2.DataSource = ds.Tables[0];
        GridView2.DataBind();
    }
}

1 Ответ

0 голосов
/ 30 января 2010

Мне кажется, что вы выполняете копирование только для одной строки в вашей сетке, что объясняет, почему копируется только одна вещь. Вы начинаете с:

bool Checkbox = ((CheckBox)row.FindControl("CheckBox1")).Checked;
if (Checkbox = true)
    {
        // Perform copy...
    }

Но, насколько я вижу, первая строка относится только к текущему ряду данных. Предположительно, переменная "row" каким-то образом получена из Grid. Является ли код, который вы показываете, частью цикла foreach?

Если нет, то я представляю, что все, что вам нужно сделать, это зациклить все строки в вашей таблице и выполнить вставку для каждой строки, а не только для одной. Вы можете (и, вероятно, должны) сгруппировать свои записи в одну транзакцию БД, а не писать несколько раз, но это оптимизация производительности и не влияет на функциональность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...