急,DataSet转DataTable,加筛选条件后出现问题。
如题,
如果DataSet没有使用如“ds_SB.Tables[0].Select( "Type_ID <4 ", "Type_ID ")”的筛选,是可以直接赋给DataTable。
但是加了这个条件后,就只能返回DataRow[]了,填充到表的时候显示:“輸入陣列的長度大於這個資料表中的資料行數目。”错误
错误行为:“dt_Detail.Rows.Add(dr_Detail);”。
请问,我能在datatable没有填充初始化列(Columns)的 时候让DataRow[]填充吗?
谢谢!
附代码:
string strSql = "SELECT * FROM CT_DyeworksDetail WHERE TD_ID= "+Td_ID.ToString();
DataSet ds_SB = DbHelperSQL.Query(strSql);
DataTable dt_Detail = new DataTable();
DataTable dt_Sel = new DataTable();
DataRow[] dr_Detail = ds_SB.Tables[0].Select( "Type_ID <4 ", "Type_ID ");//细化项目
DataRow[] dr_Sel = ds_SB.Tables[0].Select( "Type_ID=6 ", "Type_ID ");//选择值
dt_Detail.Rows.Add(dr_Detail);
dt_Sel.Rows.Add(dr_Sel);
DataRow[] Dr_Testing = ds_SB.Tables[0].Select( "Type_ID=5 ");//缩水测试
DataRow[] Dr_Degree = ds_SB.Tables[0].Select( "Type_ID=7 "); //牢度
model_SBDetail.DtTesting.Rows.Add(Dr_Testing);
model_SBDetail.DtDegree.Rows.Add(Dr_Degree);
------解决方案--------------------private void MakeDataView()
{
DataView view = new DataView();
view.Table = DataSet1.Tables[ "Suppliers "];
view.AllowDelete = true;
view.AllowEdit = true;
view.AllowNew = true;
view.RowFilter = "City = 'Berlin ' ";
view.RowStateFilter = DataViewRowState.ModifiedCurrent;
view.Sort = "CompanyName DESC ";
// Simple-bind to a TextBox control
Text1.DataBindings.Add( "Text ", view, "CompanyName ");
}