如何在asp.net中更新数据集中的特定表
我有一个数据集,其中包含三个表dt1、dt2和dt3(按顺序),现在我维护每个表的viewstate,以在回发过程中保留表(即viewstate中有最新的DataTable),现在问题是我想将dt3的viewstate应用于数据集中的相应表,即dt3,我正在执行以下操作:如何在asp.net中更新数据集中的特定表,asp.net,datatable,dataset,viewstate,Asp.net,Datatable,Dataset,Viewstate,我有一个数据集,其中包含三个表dt1、dt2和dt3(按顺序),现在我维护每个表的viewstate,以在回发过程中保留表(即viewstate中有最新的DataTable),现在问题是我想将dt3的viewstate应用于数据集中的相应表,即dt3,我正在执行以下操作: dataSet.Tables[(it will be dynamically fetched, say for here its) 0] = ViewState["DataTable" + (it will be dynami
dataSet.Tables[(it will be dynamically fetched, say for here its) 0] = ViewState["DataTable" + (it will be dynamically fetched, say for here its) 0]
但在这里,我得到的错误是dataSet.Tables[]是只读的。
有人能帮忙吗?我该怎么办。如果有人需要有关我的问题的更多信息,请告诉我。您应该使用
DataSet ds = new DataSet();
ds.Tables.Add(YourDataTable);
或
要从ViewState
更新ds
中的现有表,可以尝试两种方法
DataSet.Tables从DataSet
中删除表。删除(“表”)
method,请注意,您不应该依赖index
方法从数据集中获取表,而应该为表提供唯一的名称,以便在需要时获取和删除它们viewstatedatatable
中获取行,然后将它们逐个插入数据集的表中,类似这样hi@yogi感谢您的回复,实际上我想更新数据集中特定索引上的现有表,使用上述方法,我将添加新表,而不是更新现有表。我尝试了ds.Tables[0]上面的内容,但它说ds.Tables[0]是只读的
ds.Tables.AddRange(YourDataTableArray);
ds.Tables[0].Rows.Clear();
DataTable dtFromViewState = ViewState["dt"] as DataTable;
foreach (DataRow row in dtFromViewState.Rows)
ds.Tables[0].Rows.Add(row.ItemArray);