2012-06-02 2 views
0

Как я могу скопировать (повторить) selectedCellsValue - до конца строки.Как повторить содержимое выбранной ячейки или ячеек?

Количество ячеек (т. Е. Столбцов) в строке - варьируется (около 30).

Excel имеет эту опцию named - autoFill - Copy.

Вот моя попытка:

int x = dgv.SelectedCells.Count; 

foreach (DataGridViewCell c in dgv.CurrentRow.Cells) 
{ 
    if (c.Selected == true) 
    { 
     string a = c.Value.ToString(); 

     x = x+1; 

     dgvRasp.CurrentRow.Cells[x].Value = a; 
    } 
} 

Но он копирует selectedCells только один раз.

+0

ты не можешь просто написать цикл? – svick

+0

Как вы заполняете datagrid? Вы можете установить статическое поле в наборе данных на значение, которое вы хотите показать, и сетка покажет его. –

+0

dgv неограничен (заполнен StreamReader - чтение файла csv). петля - ?? Количество выбранных ячеек варьируется. Положение выбранных ячеек также меняется. – Bonaca

ответ

0

Это имеет некоторые очевидные проблемы, если, например, клетки из более чем одной колонки выбраны для данной строки, но он должен по крайней мере, дать вам что-то строить на:

foreach (DataGridViewCell selectedCell in dataGridView1.SelectedCells) 
{ 
    foreach (DataGridViewCell cell in selectedCell.OwningRow.Cells) 
    { 
     if (cell.ColumnIndex > selectedCell.ColumnIndex) 
      cell.Value = selectedCell.Value; 
    } 
} 
Смежные вопросы