C # Datagridview Onay Kutusu İşaretli Olay - birden çok satır?

oy
2

Ben birden çok sütun ve satır içeren bir datagridview var. İlk sütun, bir onay içerir. Ben kullanıcı Birden fazla onay kutusunu seçin ve ardından bir eylemi gerçekleştirmek için mümkün istiyorum. Örneğin, bunlar, bir mesaj kutusuna seçilir ve kabul edilebilir satır 1 ve 2 'de onay kutuları, satırlar 1 ve 2'de diğer sütunları veri seçmek durumunda.

Ben bunu yapmak için checkbox_changed olayını kullanmak gerekir biliyorum. Ancak birden fazla satır için bunun nasıl çalışma dışarı sorun yaşıyorum?

Oluştur 02/07/2009 saat 14:36
kaynak kullanıcı
Diğer dillerde...                            


4 cevaplar

oy
1

Eğer kullanıcı eylemi gerçekleştirmek için bir düğmeye tıklayarak istiyorsanız, o zaman ne işlemek gerekir düğmesine tıklandığında, sadece tüm satırları geçmesi ... düğmesinin Tıklat olay değil, olay Değişti CheckBox aşağıdadır DataGridView bir kontrol onay kutusu satırda bir eylem gerçekleştirmek ve.

Cevap 02/07/2009 saat 15:05
kaynak kullanıcı

oy
5

düğme Click olayı Açık yapın:

static int SelectColumnIndex = 0;
PerformAction_Click(object sender, System.EventArgs e)
{
    string data = string.Empty;
    foreach(DataGridViewRow row in MyDataGridView.Rows)
    {
      if(row.Cells[SelectColumnIndex].Value!=null &&
             Convert.ToBoolean(row.Cells[SelectColumnIndex].Value) == true)
      {
        foreach(DataGridViewCell cell in row.Cells)
        {
          if(cell.OwningColumn.Index!= SelectColumnIndex)
          {
            data+= (cell.Value + " ") ; // do some thing
          }
        }
        data+="\n";
      }
   }
   MessageBox.Show(data, "Data");
}
Cevap 02/07/2009 saat 15:08
kaynak kullanıcı

oy
1
static int SelectColumnIndex = 0;

PerformAction_Click(object sender, System.EventArgs e)
{
    string data = string.Empty;    

    foreach(DataGridViewRow row in MyDataGridView.Rows)     
    {
        if(row.Cells[SelectColumnIndex].Value != null 
            &&
         Convert.ToBoolean(row.Cells[SelectColumnIndex].Value) == true)       
        {
            foreach(DataGridViewCell cell in row.Cells)        
            {
                if (cell.OwningColumn.Index != SelectColumnIndex)                               
                {
                    data+= (cell.Value + " ") ; // do some thing           
                 }
            }

            data+="\n";
        }
    }

    MessageBox.Show(data, "Data");
}
Cevap 01/06/2011 saat 05:32
kaynak kullanıcı

oy
0

Sana ben bu kodu bu sorunu çözmüş herhangi bir olaya ihtiyacım yok düşünüyorum:

//In Fill DataGridViewEvent :
        DataGridViewCheckBoxColumn ChCol = new DataGridViewCheckBoxColumn();
        ChCol.Name = "CheckedRow";
        ChCol.HeaderText = "انتخاب";
        ChCol.Width = 50;
        ChCol.TrueValue = "1";
        ChCol.FalseValue = "0";
        dg.Columns.Insert(0, ChCol);

// In Button Event put these codes:

            try
            {
                MessageBox.Show(row.Cells[2].Value.ToString() + " --> " +
                row.Cells["CheckedRow"].Value.ToString());
            }
            catch
            {
                // Nothing Act
            }


enter code here

Bu parametrenin göre Çıktı: ItemID -> 1 İşaretli // İçin Değerler -> 0 // İşaretsiz Değerler ItemID için

Şimdi sen ben bu kodu test sizin eylem için değer olarak 1 döndürür satırlara filtre Can ve benim için çalışmak

Cevap 18/01/2014 saat 20:16
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more