Je voudrais créer SaveFileDialog
avec default file name
à partir de la valeur DataGridViewCells
Jusqu'à présent, j'ai essayé
private void buttonSave_Click(object sender, EventArgs e)
{
//first
//mySaveFileDialog.FileName = myDataGridView.SelectedCells[2].Value.ToString();
//second
SaveFileDialog saveFile = new SaveFileDialog();
saveFile.FileName = myDataGridView.SelectedCells[2].Value.ToString();
saveFile.ShowDialog();
}
Quelqu'un peut-il m'aider à résoudre ce problème?
SaveFileDialog
possède une propriété prévue à cet effet: DefaultFileName
avec Silverlight ou FileName
avec .NET
Votre code (non compilable) de la question deviendrait:
private void buttonSave_Click(object sender, EventArgs e)
{
SaveFileDialog mySaveFileDialog = new SaveFileDialog();
//Silverlight
mySaveFileDialog.DefaultFileName = myDataGridView.SelectedCells[2].Value.ToString();
//.NET
mySaveFileDialog.FileName = myDataGridView.SelectedCells[2].Value.ToString();
}
Le problème est que vous devez utiliser:
myDataGridView.SelectedCells[0].Value.ToString();
au lieu de
myDataGridView.SelectedCells[2].Value.ToString();
Jusqu'à ce que vous ne sélectionniez pas 3 cellules ou plus avec la souris ou quoi que ce soit. Vous pouvez indexer comme [2]
private void buttonSave_Click(object sender, EventArgs e)
{
SaveFileDialog saveFile = new SaveFileDialog();
saveFile.FileName = myDataGridView.SelectedCells[0].Value.ToString();
saveFile.ShowDialog();
}
Est-ce que ça marche pour toi?
Votre code doit ressembler à ceci:
private void buttonSave_Click(object sender, EventArgs e)
{
SaveFileDialog saveFile = new SaveFileDialog();
saveFile.FileName = myDataGridView.SelectedCells[2].Value.ToString();
saveFile.ShowDialog();
}
Utilisez FileName mais définissez le nom de fichier avant d'afficher la boîte de dialogue.
Veuillez essayer ceci dans une simple application WinForm:
static void Main()
{
var saveFile = new SaveFileDialog();
saveFile.FileName = "myfile.txt";
saveFile.ShowDialog();
string fileName = saveFile.FileName ;
MessageBox.Show(fileName);
}
Ça marche!