2010-04-08 2 views
26

Düzenlemek için DataGridview'da yalnızca iki sütun etkinleştirmek istiyorum. Diğerlerinin düzenlemelarına izin verilmemelidir. Ayrıca doğrudan veri kaynağına bağlanılamıyorum; Ben düzenlenebilir olmasını söylemek (yukarıdaki eg) Email yalnızca bir sütun sağlayacak bu şekildeWindows uygulamasında datagridview'de yalnızca belirli bir sütunu düzenlemeye nasıl izin veririm?

DataTable dt = new DataTable(); 
dt.Columns.Add("Email"); 
dt.Columns.Add("email1"); 
for (int i = 0; i < 5; i++) 
{ 
    DataRow dr = dt.NewRow(); 
    dr["Email"] = i.ToString(); 
    dr["email1"] = i.ToString() + "sdf"; 
    dt.Rows.Add(dr); 
} 
BindingSource bs = new BindingSource(); 
bs.DataSource = dt; 
dataGridView1.DataSource = bs; 

Yani ayarlaması gereken özellik, gibi bir şey yapacağız.

+0

Ne platformu? WinForms? – SLaks

cevap

35

true diğer sütunların ReadOnly özelliğini ayarlayın.

(Muhtemelen bir if deyimi Columns topluluk içinde döngü gerekiyor ve kullanacağız)

burada
19
foreach (DataGridViewColumn dc in dataGridViewX1.Columns) 
{ 
     if (dc.Index.Equals(0) || dc.Index.Equals(1)) 
     { 
      dc.ReadOnly = false; 
     } 
     else 
     { 
      dc.ReadOnly = true; 
     } 
} 
18
dataGridView1.ReadOnly = false; 
dataGridView1.Columns[1].ReadOnly = true; 
dataGridView1.Columns[2].ReadOnly = true; 

İlk sütun (dizin 0) düzenlenebilecek.