Сохранение нескольких ячеек datagrid в несколько строк
У меня есть представление datagrid, которое показывает информацию из базы данных MySQL. Когда я дважды щелкаю по ячейке, я сохраняю все из gridview в виде открытых строк для использования в другой форме (которая открывается при двойном щелчке), поэтому мне не нужно держать соединение MySQL открытым, чтобы снова получить информацию...
Мой подход к этому таков:
private void grid_laptops_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) { if (e.RowIndex >= 0) { DataGridViewRow laprow = this.grid_laptops.Rows[e.RowIndex]; Public_Variables.laptop_id = laprow.Cells[0].Value.ToString(); Public_Variables.laptop_stockid = laprow.Cells[1].Value.ToString(); Public_Variables.laptop_manufacture = laprow.Cells[2].Value.ToString(); Public_Variables.laptop_model = laprow.Cells[3].Value.ToString(); Public_Variables.laptop_servicetag = laprow.Cells[4].Value.ToString(); Public_Variables.laptop_condition = laprow.Cells[5].Value.ToString(); Public_Variables.laptop_cpumodel = laprow.Cells[6].Value.ToString(); Public_Variables.laptop_cpuspeed = laprow.Cells[7].Value.ToString(); Public_Variables.laptop_memoryamount = laprow.Cells[8].Value.ToString(); Public_Variables.laptop_memorytype = laprow.Cells[9].Value.ToString(); Public_Variables.laptop_harddrive = laprow.Cells[10].Value.ToString(); Public_Variables.laptop_videocard = laprow.Cells[11].Value.ToString(); Public_Variables.laptop_videomemory = laprow.Cells[12].Value.ToString(); Public_Variables.laptop_os = laprow.Cells[13].Value.ToString(); Public_Variables.laptop_screensize = laprow.Cells[14].Value.ToString(); Public_Variables.laptop_resolution = laprow.Cells[15].Value.ToString(); Public_Variables.laptop_webcam = laprow.Cells[16].Value.ToString(); Public_Variables.laptop_acadapter = laprow.Cells[17].Value.ToString(); Public_Variables.laptop_ebayid = laprow.Cells[18].Value.ToString(); Public_Variables.laptop_ebayprice = laprow.Cells[19].Value.ToString(); Public_Variables.laptop_ebaylink = laprow.Cells[20].Value.ToString(); Public_Variables.laptop_ebayquantity = laprow.Cells[21].Value.ToString(); Public_Variables.laptop_ebaystatus = laprow.Cells[22].Value.ToString(); } Single_Window___Grid_View.SingleWindow_Laptop window = new Single_Window___Grid_View.SingleWindow_Laptop(); window.Show(); }
Хотя я думаю, что можно было бы использовать аналогичный метод, когда я назначаю все эти переменные текстовым полям в моей другой форме. Я хотел бы более чистый способ быстро захватить все эти ячейки (в одной строке), основная концепция которого не является правильной:
private void grid_storage_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) { string[] storage_public_variables = { Public_Variables.storage_id, Public_Variables.storage_stockid, Public_Variables.storage_manufacture, Public_Variables.storage_model, Public_Variables.storage_servicetag, Public_Variables.storage_condition, Public_Variables.storage_capacity, Public_Variables.storage_firmware, Public_Variables.storage_rpm, Public_Variables.storage_cache, Public_Variables.storage_interface, Public_Variables.storage_ebayid, Public_Variables.storage_ebayprice, Public_Variables.storage_ebaylink, Public_Variables.storage_ebayquantity, Public_Variables.storage_ebaystatus }; if (e.RowIndex >= 0) { DataGridViewRow storagerow = this.grid_storage.Rows[e.RowIndex]; for (int i = 0; i < grid_storage.Rows.Count; i++) { storage_public_variables[i] = grid_storage.Rows[i].Cells[i].Value.ToString(); } MessageBox.Show("Debug: \n\nStorage ID = " + Public_Variables.storage_id); } Single_Window___Grid_View.SingleWindow_Storage window = new Single_Window___Grid_View.SingleWindow_Storage(); window.Show(); }
Что я уже пробовал:
for (int i = 0; i < grid_storage.Rows.Граф; i++)
{
storage_public_variables[я] = grid_storage.Строки[i].Клетки[я].Значение.Метод toString();
}
также пробовать:
частная grid_storage_CellMouseDoubleClick недействительным(объект отправителя, DataGridViewCellMouseEventArgs е)
{
строка[] storage_public_variables =
{
Public_Variables.storage_id, Public_Variables.storage_stockid, Public_Variables.storage_manufacture, Public_Variables.storage_model,
Public_Variables.storage_servicetag, Public_Variables.storage_condition, Public_Variables.storage_capacity, Public_Variables.storage_firmware,
Public_Variables.storage_rpm, Public_Variables.storage_cache, Public_Variables.storage_interface, Public_Variables.storage_ebayid,
Public_Variables.storage_ebayprice, Public_Variables.storage_ebaylink, Public_Variables.storage_ebayquantity, Public_Variables.storage_ebaystatus
};
если (например, RowIndex >= 0)
{
Storagerow ячейки datagridviewrow = это.grid_storage.Ряды[электронный.Параметр rowindex];
for (int i = 0; i & lt; storage_public_variables.Длина; i++)
{
storage_public_variables[i] = storagerow.Клетки[я].Значение.Метод toString();
}
Ящик для сообщений.Show ("Debug: \n\nStorage ID =" + Public_Variables.storage_id);
}
Одно Окно _ _ _ Сетка_Вид.Окна SingleWindow_Storage = новый сингл_окно___сетка_вид.SingleWindow_Storage();
окно.Покажите();
}