tolgasenol Ответов: 3

выбор нескольких строк из datagridview с помощью DataGridViewCheckBoxColumn и обновление данных столбцов


всем привет,

на самом деле тема рассказывает о проблеме. детали;

у меня есть datagridview в windows forms, который содержит данные из таблицы sql. я вставил флажки с DataGridViewCheckBoxColumn. Мне нужно установить один или несколько флажков (строк), чтобы обновить выбранные строки. существует столбец, который включает в себя дату и время. Я перепробовал так много кодов, но все они потерпели неудачу, наверное, из-за столбца DateTime.

я буду рад, если вы приведете несколько примеров в качестве кода.

Заранее спасибо,

3 Ответов

Рейтинг:
5

tolgasenol

          for (int i = 0; i < malzemeDataGridView.Rows.Count; i++)
          {
              if (Convert.ToBoolean(malzemeDataGridView.Rows[i].Cells["the name of the combocolumn"].Value) == true)
              {
//your own code here...

              }


спасибо всем...


Рейтинг:
2

Scubapro

Извините, я могу сделать это только в VB:

For each row as DataGridViewRow in Datagridview1.Rows
'Assuming first column has the checkboxes
   If row.Cells(0).Value = True Then

   'Carry out update and make sure your DateTime is properly formatted
   cmdUpdate = "UPDATE TABLE ... SET ... WHERE ..."

   End If
Next


tolgasenol

и все же я не мог решить эту проблему.

Scubapro

Вам придется показать, где что-то идет не так, иначе вам будет трудно помочь.

tolgasenol

Scubapro я вставил код ниже. Большое спасибо!

Рейтинг:
0

tolgasenol

yes scubapro you are absolutlely right. My fault sorry. Here is the code i try;
i added checkboxcolumn to the datagrid

but the problem is, only the uppest row updates. i guess i cannot return it!

private void button1_Click(object sender, EventArgs e)
        {
            //sql bağlantı depo giriş
            SqlConnection sconn = new SqlConnection();
            sconn.ConnectionString = "Data Source=R2D2\\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=depom";
            sconn.Open();
//
// here is where selection starts
//
            List<DataRow> lst = new List<DataRow>();


            for (int i = 0; i < malzemeDataGridView.Rows.Count; i++)
            {
                if (Convert.ToBoolean(malzemeDataGridView.Rows[i].Cells["sec"].Value) == true)
                {

                    SqlCommand ins = new SqlCommand();

                    ins.Connection = sconn;
                    ins.CommandText = "update malzeme set depo='Merkez', degistirmeT=@degT, konum=@knm where malzemeID=@malz";

                    ins.Parameters.AddWithValue("@malz", malzemeDataGridView.Rows[i].Cells["dataGridViewTextBoxColumn1"].Value.ToString());
                    ins.Parameters.AddWithValue("@degT", DateTime.Now.ToString());
                    ins.Parameters.AddWithValue("@knm", textBox1.Text = "");



                    //ons bağlantısı başlangıç
                    SqlCommand ons = new SqlCommand();

                    ons.Connection = sconn;
                    ons.CommandText = "insert into tarihegore (malzemeID, konum, depo, sinif, marka, model, aciklama, spectrumNO, seriNO, notlar, islemtarihi) values (@malzemeID, @konum, @depo, @sinif, @marka, @model, @aciklama, @spectrumNO, @seriNO, @notlar, @islemtarihi)";

                    ons.Parameters.AddWithValue("@malzemeID", malzemeIDTextBox.Text.Trim());
                    ons.Parameters.AddWithValue("@konum", konumTextBox.Text.Trim());
                    ons.Parameters.AddWithValue("@depo", depoTextBox.Text.Trim());
                    ons.Parameters.AddWithValue("@sinif", sinifTextBox.Text.Trim());
                    ons.Parameters.AddWithValue("@marka", markaTextBox.Text.Trim());
                    ons.Parameters.AddWithValue("@model", modelTextBox.Text.Trim());
                    ons.Parameters.AddWithValue("@aciklama", aciklamaTextBox.Text.Trim());
                    ons.Parameters.AddWithValue("@spectrumNO", spectrumNOTextBox.Text.Trim());
                    ons.Parameters.AddWithValue("@seriNO", seriNOTextBox.Text.Trim());
                    ons.Parameters.AddWithValue("@notlar", depoTextBox.Text.Trim() + " " + konumTextBox.Text.Trim() + " dan Merkeze geldi.");
                    ons.Parameters.AddWithValue("@islemtarihi", DateTime.Now.ToString());

                    //ons bağlantısı sonu

                    //sconn.Open();
                    MessageBox.Show(markaTextBox.Text.Trim() + " " + modelTextBox.Text.Trim() + " depoya girdi", "Depoya Giriş");



                    ins.ExecuteNonQuery();
                    ons.ExecuteNonQuery();




                    try
                    {
                        this.malzemeTableAdapter.Tümünü_Göster(this.dataSet1.malzeme);
                    }
                    catch (System.Exception ex)
                    {
                        System.Windows.Forms.MessageBox.Show(ex.Message);
                    }

                    sconn.Close();
                }

            }
        }