一道C#程序题!高手请进!

privatevoidForm1_Load(objectsender,EventArgse){treeView1.Nodes.Clear();DataSetds=MyDC... private void Form1_Load(object sender, EventArgs e)
{
treeView1.Nodes.Clear();
DataSet ds = MyDClass.getDataSet("select * from tb_B_BranchName", "tb_B_BranchName");
if (ds.Tables[0].Rows.Count > 0)
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)//ds.Tables[0].Rows.Count就是表集的第一个表的所有行数(也就是总数);
{
treeView1.Nodes.Add(ds.Tables[0].Rows[i][1].ToString());
**************************************************************************************************************************
if (ds.Tables[0].Rows[i][1].ToString() == "控制工程")
{
int j = (Int32)SqlHelper.GetScalar("select count(*) from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");
DataTable table = SqlHelper.GetDataTable("select S_BranchName from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");
foreach (DataRow row in table.Rows)
{
string val = row["S_BranchName"].ToString();
treeView1.Nodes[i].Nodes.Add(val);
******************************************************************************************************************************8
}
}
}
我想问下分隔线之间的代码的含义,拜托各位大侠!最好详细点!
展开
 我来答
zljk0306
2013-09-18 · TA获得超过366个赞
知道小有建树答主
回答量:229
采纳率:90%
帮助的人:202万
展开全部
  代码写的有点啰嗦。。。一句一句给你讲解。
   if (ds.Tables[0].Rows[i][1].ToString() == "控制工程")//如果这一行的第二列是"控制工程",那么接下来要做些什么呢?
                    {
                    //这句话的意思是从表tb_S_BranchName中查出BranchName叫做"控制工程的记录总数" 
                        int j = (Int32)SqlHelper.GetScalar("select count(*) from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");
                    //这句话的意思是从表tb_S_BranchName中查出BranchName叫做"控制工程的所有记录的S_BranchName字段" ,-----看清楚了,上面那句话是查的总数目,这句话是查出所有的记录
                        DataTable table = SqlHelper.GetDataTable("select S_BranchName from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");
                        //然后,将查出来的这些记录的S_BranchName添加到treeView1.Nodes[i]的子节点上。
                        foreach (DataRow row in table.Rows)
                        {
                            string val = row["S_BranchName"].ToString();
                            treeView1.Nodes[i].Nodes.Add(val);

希望你明白~

咸盐有点淡
2013-09-18 · 超过32用户采纳过TA的回答
知道答主
回答量:180
采纳率:33%
帮助的人:65.2万
展开全部
DataTable table = SqlHelper.GetDataTable("select S_BranchName from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");

意思:将查询出来的所有符合的字段值(S_BranchName值 )存储到table对象中。
格式:第一行 值1
第一行 值2
第一行 值3
。。。 。。。

foreach (DataRow row in table.Rows)
{
string val = row["S_BranchName"].ToString();
treeView1.Nodes[i].Nodes.Add(val);
}
循环读取每一行中S_BranchName值 ,并赋值给val,最后添加到树节点。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
85532732
2013-09-18 · TA获得超过114个赞
知道答主
回答量:249
采纳率:100%
帮助的人:128万
展开全部
if (ds.Tables[0].Rows[i][1].ToString() == "控制工程")//判断结果table中的每行第二个字段值是否是“控制工程”
{
int j = (Int32)SqlHelper.GetScalar("select count(*) from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");//从tb_S_BranchName表中查询名称为“控制工程”的总条数并赋值给J
DataTable table = SqlHelper.GetDataTable("select S_BranchName from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");//查询tb_S_BranchName中所有BranchName为“控制工程”的S_BranchName值
foreach (DataRow row in table.Rows)//循环查找结果的table
{
string val = row["S_BranchName"].ToString();//获取S_BranchName值 treeView1.Nodes[i].Nodes.Add(val);//treeView1每个节点下循环添加val
追问
DataTable table = SqlHelper.GetDataTable("select S_BranchName from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");

这句还没太懂!能烦请再解释一下吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wym3587
2013-09-18 · TA获得超过385个赞
知道小有建树答主
回答量:499
采纳率:50%
帮助的人:109万
展开全部
如果当前行是控制工程
int j 在这里貌似没有用到
取table
通过循环添加到控件treeView1中
可以给分了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
当下互联网
2013-09-18
知道答主
回答量:28
采纳率:0%
帮助的人:12万
展开全部
先判断是否为控制工程
如果是控制工程
即获取控制工程数量,j变量保存
并且获取控制工程名称S_BranchName 并添加到树控件中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
楠说好了一起的
2013-09-18
知道答主
回答量:39
采纳率:0%
帮助的人:20.2万
展开全部
第一句 查询BranchName是控制工程的个数 返回类型是int型
第二句 查询出所有S_BranchName 返回值类型是DataTable 型 where条件也是 控制工程
foreach遍历DataTable 值是其中一个 最后将值赋给treeView 形成它的节点

这是一个树形图 求节点的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式