2009-12-15 3 views
3

Я хочу объединить два столбца datagridview в один новый столбец.слияние двух столбцов datagridview в один новый столбец

я сначала изменить свойство Видимого двух цв к ложному, то я пытаюсь добавить новые седловины, который это значение должно быть отформатированными как это который col1Value и col2Value этого значения выше столбцов:

string.Format("{0} per {1}", col1Value, col2Value); 

мой код

reportResultForm.dgvResult.Columns["Height"].Visible = false; 
reportResultForm.dgvResult.Columns["Width"].Visible = false; 
DataGridViewColumn col = new DataGridViewColumn(); 
col.DefaultCellStyle.Format = "{0} per {1}"; 
col.CellTemplate = new DataGridViewTextBoxCell(); 
dgvResult.Columns.Add(col); 

, но я не знаю, как это сделать! пожалуйста помогите. мой путь верен?

+0

Как вы ожидаете, чтобы объединить два столбца в один столбец? Данные разные, и как вы собираетесь обрабатывать разные данные? – 2009-12-16 16:17:04

+0

Я хочу использовать значение col1 и col2, чтобы показать это в newcol с верхним форматом. newcolValue = string.Format ("{0} per {1}", col1Value, col2Value) – Sadegh

ответ

4

Вы можете создать собственную реализацию DataGridViewTextBoxCell и переопределить метод GetFormattedValue. Там вы можете вернуть отформатированный значение для столбца ниже приведен пример:

// use custom DataGridViewTextBoxCell as columns's template 
col.CellTemplate = new MyDataGridViewTextBoxCell(); 

...

// custom DataGridViewTextBoxCell implementation 
public class MyDataGridViewTextBoxCell : DataGridViewTextBoxCell 
{ 
    protected override Object GetFormattedValue(Object value, 
     int rowIndex, 
     ref DataGridViewCellStyle cellStyle, 
     TypeConverter valueTypeConverter, 
     TypeConverter formattedValueTypeConverter, 
     DataGridViewDataErrorContexts context) 
    { 
     return String.Format("{0} per {1}", 
      this.DataGridView.Rows[rowIndex].Cells[0].Value, 
      this.DataGridView.Rows[rowIndex].Cells[1].Value); 
    } 
} 

надеюсь, что это помогает, считает

Смежные вопросы