Sto lavorando a un'applicazione C# che contiene un sacco di DataGridViews che sono vuote. L'utente deve riempirli con copia/dati incollati da Excel. Quello che faccio è la seguente:Datagridview.SelectedCells order
int i = 0;
string s = Clipboard.GetText();
// Separate lines
string[] lines = Regex.Split(s, "\r\n");
foreach (string line in lines)
{
// Separate each cell
string[] cells = line.Split('\t');
foreach (string cell in cells)
{
// If we selected as many cells as copied
if (dataGridView.SelectedCells.Count == (lines.Length-1)*(cells.Length))
{
dataGridView.SelectedCells[i].Value = cell;
i++;
}
}
}
Il problema è che se copio qualcosa di simile (in excel):
1 2 3
4 5 6
mio datagridview sarà simile:
6 4 2
5 3 1
I non so davvero cosa fare per risolvere questo ... Grazie in anticipo
Qualche possibilità è possibile creare un datatable con l'array di celle e associare i dati al datagrid? – ray
@RayMoonDay Non so se sia una buona soluzione considerando che ho ottenuto 50 griglie generate dinamicamente, non sono molto interessato all'utilizzo della memoria, quindi non so se è enorme o no. Lo proverò comunque, grazie. – Blowi
Perché potresti aver bisogno di 50 griglie vuote generate dinamicamente? Tuttavia, se si può semplicemente stampare la variabile "s" che è una copia degli appunti, è possibile farsi un'idea se t corrisponde all'output o all'ordine reale dei dati excel – ray