2012-03-28 20 views
8

Ben ben olarak aşağıda doldurun bir DataGridView:DataGridView sütunlarda doğru/yanlış değiştirme

var q= repository.GetStudents();// 

dataGridView1.DataSource = null; 
dataGridView1.Columns.Clear(); 

dataGridView1.DataSource = q; 

dataGridView1.Columns.RemoveAt(1); 
//Remove IsActive 
//Cause I want to have my own implementation 

dataGridView1.Columns[0].DataPropertyName = "StudentID"; 
dataGridView1.Columns[0].HeaderText = "Studunet ID"; 

dataGridView1.Columns[1].DataPropertyName = "IsActive"; 
dataGridView1.Columns[1].HeaderText = "Status"; 

"isActive" özelliği boolean Türü olduğunu. "Aktif" hücre görüntülendiğinde, doğru/yanlış gösterir. Onu kendi özel değere göre değiştirmek istiyorum.

this ve this gönderilerini okudum ancak sorunumu çözemedim. , O şimdi ne yapıyoruz çok benzer

: (yorum başına)

void dataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
{ 
    var grid = (DataGridView)sender; 
    if (grid.Columns[e.ColumnIndex].Name == "IsActive") 
    { 
     e.Value = (bool)e.Value ? "MY_TEXT_FOR_TRUE" : "MY_TEXT_FOR_FALSE"; 
     e.FormattingApplied = true; 
    } 
} 

EDIT:

cevap

11

Sen CellFormattingDataGridView, örn olayını kullanabilirsiniz Sadece bağlı sütunu kaldırın ve istenen tipte yeni bir sütun ekleyin ve DataPropertyName'u uygun şekilde ayarlayın. Bu uçta sütunu ekler, ancak dataGridView.Columns.Insert yöntemi kullanarak yerine Add tarafından sütunun konumunu karar verebilmesi

this.dataGridView1.Columns.Remove("COL_TO_CUSTOMIZE"); 
var btnCol = new DataGridViewDisableButtonColumn(); 
btnCol.Name = "COL_TO_CUSTOMIZE"; 
btnCol.DataPropertyName = "COL_TO_CUSTOMIZE"; 
var col = this.dataGridView1.Columns.Add(btnCol); 

Not.

+0

Teşekkürler ve eğer özel düğmemle değiştirmek istersem? Herhangi bir öneriniz var mı? [Http://msdn.microsoft.com/en-us/library/ms171619.aspx] adresini okudum, ancak grid görünümünü veriye bağlarken 'DataGridViewDisableButtonColumn' nasıl başlatacağımı bilmiyorum. –

+1

@persianDev: düzenlememi kontrol et;) – digEmAll

+0

'DataGridViewDisableButtonColumn' öğesinin 'Etkin' özelliğini açıkça başlatmaya gerek yok mu? –