0
我正在使用以下代码从DataTable返回n个行到另一个DataTable对象。当第一个数据表记录来自数据库时,它工作正常,但是当我mannualy在数据表中添加记录时,它会崩溃并显示一条消息no rows。 我已经打垮了,发现currentTable.DefaultView.ToTable().Rows.Cast<DataRow>()
这将返回空值。 我写了下面的代码从DataTable对象从数据表对象返回n个数据表格格式的行
currentTable = currentTable.DefaultView.ToTable().Rows.Cast<DataRow>().Take(numberOfRecord).CopyToDataTable();
我不知道它为什么当我manualy创建数据表和工作正常时,记录来自DataReader的数据表来选择坠毁N条记录。
我使用下面的代码来创建数据表手动
DataTable tblCurrent = new DataTable();
//For Adding columns
for (int i = 0; i < fieldCol.Length; i++)
tblCurrent.Columns.Add(string.Format("Column{0}", i + 1));
//for adding rows.
for (int i = (count + globalClass.sourceConnectionInfo.RowsToSkip); i < lineRows.Length; i++)
{
DataRow newRow = tblCurrent.NewRow();
for (int j = 0; j < fieldCol.Length; j++)
newRow[j] = fieldCol[j];
tblCurrent.Rows.Add(newRow);
}
//Then for selecting n records
if (currentTable.Rows.Count > 0)
tblCurrent = tblCurrent.DefaultView.ToTable().Rows.Cast<DataRow>().Take(numberOfRecord).CopyToDataTable();
什么是崩溃堆栈,你会得到什么?它有没有说'InvalidCastException'? – dasblinkenlight 2012-04-16 10:02:13
这有帮助吗? :http://stackoverflow.com/questions/425424/databinding-to-a-programmaticly-created-datatable – 2012-04-16 10:02:33
@dasblinkenlight它给出以下消息“源不包含DataRows”。 – Awadhendra 2012-04-16 10:05:57