我觉得这很奇怪,我无法弄清楚它为什么不起作用。 我有 DataTable ,名为 tempDT
这有效:此代码是否也将行转换为DataGridViewRow?
char str[] = "a"; // sizeof(str) will give 2 because presence of extra NULL character
char c = 'a'; // simply a single character
这也是:如果我这样做,只能将其投射到DataRow中!
foreach (DataGridViewRow row in tempDT.Rows)
{
// do iteration
foreach (DataGridViewCell cell in row.Cells)
{
// do iteration
}
}
但这不是:
DataRow row2 = ((DataRow)tempDT.Rows[0]);
为什么我不能像上面那样投射它?
答案 0 :(得分:-1)
以下对我很好,
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
List<Customer> lst = new List<Customer>() { new Customer() { ID = 1, Name = "XYZ" }, new Customer() { ID = 1, Name = "XYZ" } };
dataGridView1.DataSource = lst;
DataGridViewRowCollection c = dataGridView1.Rows;
DataGridViewRow val = dataGridView1.Rows[0];
Console.WriteLine(val.Cells[0].Value);
}
private class Customer
{
public int ID { get; set; }
public string Name { get; set; }
}
}
代码问题是您正在尝试将DataTable行(即DataRow)转换为DataGridViewRow。 (这就是我从您提供的代码中所看到的)。如果是这种情况,则无法将DataRow转换为DataGridViewRow。