Рейтинг:
2
Primo Chalice
private DataTable GetDataTableFromDGV(DataGridView dgv)
{
var dt = новый DataTable();
foreach (столбец DataGridViewColumn в dgv.Columns)
{
если (столбец.видимый)
{
// Вы потенциально можете назвать столбец на основе имени столбца DGV (остерегайтесь дураков)
// или назначьте тип на основе типа данных данных, привязанных к этому столбцу DGV.
ДТ.Столбцы.Добавить();
}
}
object[] cellValues = новый объект[dgv.Columns.Рассчитывать];
по каждому элементу (ячейки datagridviewrow строку в dgv.Строк)
{
for (int i = 0; i < row.Ячейки.Граф; i++)
{
значения ячеек[i] = строка.Ячейки[i].значение;
}
dt.Rows.Add(значения ячеек);
}
возврат dt;
}
Я использовал этот код, и он работал, но я хочу иметь пользовательские теги для определенных столбцов. Как мне это сделать?
Wendelius
Не уверен, правильно ли я это понимаю, но если вы хотите добавить какую-то специальную информацию в столбцы, вы можете использовать расширенные свойства. Рассмотреть следующее:
System.Data.DataTable table = new System.Data.DataTable("TheTable");
table.Columns.Add("Col1", typeof(string));
table.Columns.Add("Col2", typeof(string));
table.Columns["Col2"].ExtendedProperties.Add("MyProp", "Important column");
table.Rows.Add("A", "B");
table.Rows.Add("C", "D");
table.WriteXml("C:\\test.xml", System.Data.XmlWriteMode.WriteSchema);
Primo Chalice
Это именно то, что мне было нужно. Это работает :). Я чувствую облегчение. Еще один вопрос. Здесь я ввожу данные в строки вручную. Но у меня уже есть 13 столбцов, и у меня есть данные там. Итак, как мне прочитать предварительно заполненные данные и поместить их в table.Rows.Add()?