Copier/ coller datagrid (copy/paste)

Contenu du snippet

Ces fonctions permettent de faire un copier / coller dans un datagrid . Cela parais tout con , mais c'est très utile pour ceux qui ont pas envie de perdre leur temps a coder leur propre fonction .
Voici un exemple sur l'un de mes tools : http://img12.imageshack.us/img12/7870/workshop3e.jpg

p.s : ce code est basé sur un bout de code que j'avais trouver sur internet...

Source / Exemple :


void copy()
        {
            DataObject d = dataGridView.GetClipboardContent();
            Clipboard.SetDataObject(d);
           
        }

        void paste()
        {
            
            string s = Clipboard.GetText();
            char[] inter = s.ToCharArray();
            s= "";
            for (int i = 0; i != inter.Length; i++)
            {
                if (inter[i] == '\r')
                {
                   
                }
                else
                {
                s = s + inter[i];
                }
            }
            
            string[] lines = s.Split('\n');
            
            int row = dataGridView.CurrentCell.RowIndex;
            int col = dataGridView.CurrentCell.ColumnIndex;
            for (int a = 0; a != lines.Length;a++) 
            {
                if (row < dataGridView.RowCount && lines[a].Length >
0)
                {
                    string[] cells = lines[a].Split('\t');
                    for (int i = 0; i < cells.GetLength(0); ++i)
                    {
                        if (col + i <
this.dataGridView.ColumnCount)
                        {
                            dataGridView[col + i, row].Value =
Convert.ChangeType(cells[i], dataGridView[col + i, row].ValueType);
                        }
                        else
                        {
                            break;
                        }
                    }
                    row++;
                }
                else
                {
                    break;
                }
            }
        }

A voir également