nar86 Ответов: 2

Проверка флажка с помощью C#


охраняемых недействительными btnsubmit_Click(объект отправителя, EventArgs в электронной)
{
пробовать
{
Строка strConnString = ConfigurationManager.Выберите["Выберите"].Параметр connectionString;
SqlConnection con = new SqlConnection(strConnString);
против.Открыть();
foreach (строка GridViewRow в grdRpt.Rows)
{
CheckBox cb = (флажок)строка.FindControl("chkselecdata");
если (ЦБ.Проверено == правда)
{
int key = конвертировать.ToInt32(grdRpt.DataKeys[строка.Параметр rowindex].Значение);
SqlCommand cmd = new SqlCommand("UPDATE [transact].[transaction_item] установить статус = "Готов", где transaction_id, полученный=" + ключ.ToString(), con);
УМК.Метод executenonquery();
Элемента управления scriptmanager.RegisterStartupScript(это, метод gettype(), "showalert", "предупреждение(' успешно обновлены');", правда);

}


еще
{
Элемента управления scriptmanager.RegisterStartupScript(this, GetType(), "showalert", "alert('Please Select the Checkbox');", true);

}
}
против.Закрывать();
BindData();
}
поймать (исключение бывший)
{

}
}


В режиме запуска gridview имеет следующие функции


кнопка обновления)



идентификатор selectdata ИД транзакции статус цена кол-во

флажок 1 12345 2 5 Новый
флажок 2 42122 1 3 Новый

когда я устанавливаю флажок в gridview и обновляю запись. в базе данных обновлена запись. но сообщение показывает
Please Select the Checkbox.


what is the mistake in my above code.

What I have tried:

protected void btnsubmit_Click(object sender, EventArgs e)
        {
            try
            {
                String strConnString = ConfigurationManager.ConnectionStrings["ConnectionStrings"].ConnectionString;
                SqlConnection con = new SqlConnection(strConnString);
                con.Open();
                foreach (GridViewRow row in grdRpt.Rows)
                {
                    CheckBox cb = (CheckBox)row.FindControl("chkselecdata");
                    if (cb.Checked == true)
                    {
                        int key = Convert.ToInt32(grdRpt.DataKeys[row.RowIndex].Value);
                        SqlCommand cmd = new SqlCommand("UPDATE [transact].[transaction_item] SET Status = 'Ready' Where transaction_id=" + key.ToString(), con);
                        cmd.ExecuteNonQuery();
                        ScriptManager.RegisterStartupScript(this, GetType(), "showalert", "alert(' Updated Successfully');", true);
                       
                    }

                   
                    else
                    {
                        ScriptManager.RegisterStartupScript(this, GetType(), "showalert", "alert('Please Select the Checkbox');", true);
                        
                    }
                }
                con.Close();
                BindData();
            }
            catch (Exception ex)
            {

            }
        }


 In the run mode gridview has follows


  Update (Button)



   selectdata id  transactionid    Qty   Price status
 
   checkbox   1      12345          2      5     New
   checkbox   2      42122          1      3     New

  when i select the checkbox in gridview and update the record. in database record updated. but message shows <pre>Please Select the Checkbox.


what is the mistake in my above code.

2 Ответов

Рейтинг:
2

OriginalGriff

Что ж... вы делаете это в цикле для всех строк. Поэтому, если одна строка в вашей сетке не имеет чека, вы получаете сообщение, независимо от того, сколько из них имеют чеки.

Если вы хотите выдать сообщение только в том случае, если ни одна строка не проверена, добавьте переменную bool вне цикла, установите для нее значение false и установите значение true, если вы найдете проверенную строку и обновите ее. После завершения цикла проверьте переменную и при необходимости выдайте сообщение.


Richard MacCutchan

Этот парень действительно принимает пословицу.

OriginalGriff

Не понял, что это был репост.

Richard MacCutchan

Репост репоста репоста ...

Maciej Los

Он не уважает правила - ругань...

OriginalGriff

Значит, быстро учишься ... :вздыхать:

OriginalGriff

Не знаю - он ведет себя немного придурковато, и его история вопросов показывает очень мало признаков того, что он думал перед публикацией или учился после получения решения. Я бы предположил, что ленивый студент или некомпетентный сотрудник - но достаточно ли этого, чтобы начать выгонять его с сайта?

Возможно. Но это немного чересчур для того, кто кажется просто еще одним идиотом, который не хочет думать, может быть?

Рейтинг:
1

Richard MacCutchan

Я объяснил, в чем проблема. Как обновить gridview выбранную строку флажка в базе данных с помощью C#[^], и все, что вы сделали, это перепостили один и тот же вопрос. Теперь вы перепостили его во второй раз.