DataRow []drw = m_DataTabVal.Select("DIMENSION_CODE='"+clsComBoxa._code+"'");
foreach(DataRow valueCode in drw)
{
TreeNode tnChird = new TreeNode(valueCode[1].ToString());
tnParent.Nodes.Add(tnChird);
}
this.m_treeView.Nodes.Add(tnParent);
根据我的筛选drw有1万七千多行,我将它们用freach()的形式添加到 tnParent 中。出了foreach循环为什么到this.m_treeView.Nodes.Add(tnParent);
就要至少7秒钟的时间???为什么这么慢。有什么方法解决吗???谢谢!!!
m_DataTabVal为DataTable
foreach(DataRow valueCode in drw)
{
TreeNode tnChird = new TreeNode(valueCode[1].ToString());
tnParent.Nodes.Add(tnChird);
}
this.m_treeView.Nodes.Add(tnParent);
根据我的筛选drw有1万七千多行,我将它们用freach()的形式添加到 tnParent 中。出了foreach循环为什么到this.m_treeView.Nodes.Add(tnParent);
就要至少7秒钟的时间???为什么这么慢。有什么方法解决吗???谢谢!!!
m_DataTabVal为DataTable
treeview.BeginUpdate();
..
treeview.EndUpdate();
..
treeview.EndUpdate();
不行还是很慢。好像不起作用。
this.m_treeView.SuspendLayout();
this.m_treeView.ResumeLayout();
这样也不行。
首先在存储过程里建一个临时表,这个表要按照树的形式建,把数据过滤掉之后存到这个表里,再把这个表返回填充到TreeView上就行了。
foreach(DataRow valueCode in drw)
{
TreeNode tnChird = new TreeNode(valueCode[1].ToString());
tnParent.Nodes.Add(tnChird);
}
的时侯,速度还是挺快的。整个循环才不到半秒
但是
this.m_treeView.Nodes.Add(tnParent);
这条确要七秒。很奇怪