2011年12月19日 星期一

DGV

dgv用的複製貼上

if (Control.ModifierKeys == Keys.Control && e.KeyCode == Keys.V)
            {
                Match m = Regex.Match(Clipboard.GetText(), "(.+)\r?\n?");//"(.+)\r?\n?");
                if (m.Success)
                {
                    int i = 0, j = 0;
                    while ((m.Groups[1].Value != "") && (dataGridView1.RowCount - 1 > dataGridView1.CurrentCell.RowIndex + i))
                    {
                        if (m.Groups[1].Value.Contains("\t"))
                        {
                            foreach (string column in m.Groups[1].Value.Replace("\r\n", "").Split('\t'))
                         
                            {
                                if ((dataGridView1.ColumnCount - 1) >= (dataGridView1.CurrentCell.ColumnIndex + j))
                                {
                                    dataGridView1[dataGridView1.CurrentCell.ColumnIndex + j, dataGridView1.CurrentCell.RowIndex + i].Value = column;

                                    j++;
                                }
                            }
                            j = 0;

                        }



                        else

                            dataGridView1[dataGridView1.CurrentCell.ColumnIndex + j, dataGridView1.CurrentCell.RowIndex + i].Value = m.Groups[1].Value;
                        i++;
                        m = m.NextMatch();
                    }
                }

                else

                    dataGridView1[dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex].Value = Clipboard.GetText();
            }

沒有留言:

張貼留言