要從DataGridView獲取數據,請使您的代碼如此。 然後你可以從DataTable中獲取行。
private void button1_Click(object sender, EventArgs e)
{
// Getting data from DataGridView
DataTable myDt = new DataTable();
myDt = GetDTfromDGV(dataGridView1);
}
private DataTable GetDTfromDGV(DataGridView dgv)
{
// Macking our DataTable
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[6]
{
new DataColumn(dgv.Columns[0].Name, typeof(string)),
new DataColumn(dgv.Columns[1].Name, typeof(string)),
new DataColumn(dgv.Columns[2].Name, typeof(string)),
new DataColumn(dgv.Columns[3].Name, typeof(string)),
new DataColumn(dgv.Columns[4].Name, typeof(int)),
new DataColumn(dgv.Columns[5].Name, typeof(int))
});
// Getting data
foreach (DataGridViewRow dgvRow in dgv.Rows)
{
DataRow dr = dt.NewRow();
for (int col = 0; col < dgv.Columns.Count; col++)
{
dr[col] = dgvRow.Cells[col].Value == null ? DBNull.Value : dgvRow.Cells[col].Value;
}
dt.Rows.Add(dr);
}
// removing empty rows
for (int row = dt.Rows.Count - 1; row >= 0; row--)
{
bool flag = true;
for (int col = 0; col < dt.Columns.Count; col++)
{
if (dt.Rows[row][col] != DBNull.Value)
{
flag = false;
break;
}
}
if (flag == true)
{
dt.Rows.RemoveAt(row);
}
}
return dt;
}
你設置'DataSource'電網的'DataTable'?你的意思是你需要在加載數據後只添加新的行嗎? –
我找到了解決方案 – Vikash
** - **爲什麼您將'Child'的所有屬性定義爲字符串? ** - **「兒童」班的定義在哪裏? ** - **目前的答案有一些問題。還有更好的方法來獲取值並填寫打印列表。 ** - **如果您想獲得更好的答案,請編輯您的問題。現在問題和答案是不相關的。 –