2012-03-28 15 views
8

मैं एक DataGridView जो मैं इसे नीचे के रूप में भरने के लिए कहें:DataGridView स्तंभों में सही/गलत की जगह

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" संपत्ति बूलियन प्रकार की है। जब "IsActive" सेल प्रदर्शित किया जा रहा है, तो यह सच/गलत दिखाता है। मैं इसे अपने स्वयं के कस्टम मूल्य से बदलना चाहता हूं।

मैंने this और this पोस्ट पढ़े लेकिन मैं अपनी समस्या का समाधान नहीं कर सका। ,

यह बहुत तुम अब क्या कर रहे हैं उसके समान है:

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; 
    } 
} 

संपादित करें (के रूप में टिप्पणी प्रति):

उत्तर

11

आप DataGridView, जैसे की CellFormatting घटना का उपयोग कर सकते बस बाएं कॉलम को हटाएं और वांछित प्रकार का नया कॉलम जोड़ें और DataPropertyName को ठीक तरह से सेट करें :

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); 

ध्यान दें कि यह अंत में स्तंभ संलग्न है, लेकिन आप के बजाय dataGridView.Columns.Insert पद्धति का उपयोग करके Add द्वारा स्तंभ की स्थिति को तय कर सकते हैं।

+0

धन्यवाद और क्या होगा यदि मैं इसे अपने कस्टम बटन से बदलना चाहता हूं? क्या कोई सुझाव है? मैंने [http://msdn.microsoft.com/en-us/library/ms171619.aspx] पढ़ा है लेकिन मुझे नहीं पता कि डेटा को ग्रिड व्यू को बाध्य करते समय 'DataGridViewDisableButtonColumn' को कैसे प्रारंभ किया जाए। –

+1

@persianDev: मेरा संपादन जांचें;) – digEmAll

+0

क्या 'DataGridViewDisableButtonColumn' की 'सक्षम' संपत्ति को स्पष्ट रूप से प्रारंभ करने की आवश्यकता नहीं है? –