这个函数中帮忙给加一句代码,在线等。

guhonglangzi004 2010-09-17 03:28:51
请给这个函数加一句代码,在if判断语句中,当“dr.IsNull(jsbm)”为true,也就是值为空是,dr向下移动一行,也就是dt(DataTable对像)中的行(DataTable),向下移动一行。
public void CreatTreeViewRecursive(TreeNodeCollection nodes, DataTable dt, string jsbm)
{

TreeNode node;
foreach (DataRow dr in dt.Rows)
{
if (dr.IsNull(jsbm))
{
在这个位置
}
else
{
node = new TreeNode();
node.Text = (string)dr[jsbm];
node.Tag = (int)dr["ID"];
nodes.Add(node);
}
}
}
...全文
163 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kj289907795 2010-09-17
  • 打赏
  • 举报
回复
没必要写什么啊。。。。放哪里就好
guhonglangzi004 2010-09-17
  • 打赏
  • 举报
回复
恩,就是这样的。。。
luxi0194 2010-09-17
  • 打赏
  • 举报
回复
其实if中什么都不做,foreach肯定会自动到下一行的。。。。
luxi0194 2010-09-17
  • 打赏
  • 举报
回复
continue;
酋长 2010-09-17
  • 打赏
  • 举报
回复
public void CreatTreeViewRecursive(TreeNodeCollection nodes, DataTable dt, string jsbm)
{

TreeNode node;
DataRow dr;
for(int i=0; i<dt.Rows.Count; i++)
{
if (!dr.IsNull(jsbm))
{
node = new TreeNode();
node.Text = (string)dr[jsbm];
node.Tag = (int)dr["ID"];
nodes.Add(node);
}

}
}
苏州牛恋歌 2010-09-17
  • 打赏
  • 举报
回复
if (dr.IsNull(jsbm))
{
continue;
}

试试这个
pppop3 2010-09-17
  • 打赏
  • 举报
回复
首先在foreach 里面应该无法改变遍历对象的
可以再foreach里面 记录 dr==null的index


这里有个小技巧 因为你记录的顺序肯定是由小到大的



所有出了foreach后 你只要倒序从最后一个取出来 然后把它插到dt.rows的末尾这样就好了,如果你正序插的话会存在索引错误的问题。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧