标题:用户登陆界面密码文本框不显示值的问题
只看楼主
lanke711
Rank: 9Rank: 9Rank: 9
来 自:流浪在天国之路
等 级:蜘蛛侠
威 望:7
帖 子:317
专家分:1437
注 册:2015-7-16
结帖率:100%
已结贴  问题点数:50 回复次数:2 
用户登陆界面密码文本框不显示值的问题
请各位前辈不要骂我用的treeview控件,这只是在解决不了问题的时候建了个测试的项目时用的控件。
需要求助的问题:
密码本文框为空,不显示密码!

获取已记住密码的用户:
 
程序代码:
public Form1()
        {
            
            InitializeComponent();
            XmlDocument xmldoc = new XmlDocument();
            xmldoc.Load("User.xml");                            //打开xml文件
            XmlNode xn = xmldoc.SelectSingleNode("UserLogin");  //检索根节点
            XmlNodeList xn1 = xn.ChildNodes;                    //获取所有子节点
            int i = 0;                                          //计次变量
            DataSet ds = new DataSet();                         //实例化dataset对象
            ds.ReadXml("User.xml");                             //读入数据
            for (int j = 0; j < ds.Tables[0].Rows.Count; j++) //循环
            {
                treeView1.Nodes.Add(ds.Tables[0].Rows[j][0].ToString());//把所有节点添加到treeview集合
 

            }

        }

获取密码:
//双击节点时发生
      
程序代码:
 private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
        {

            textBox2.Text= treeView1.SelectedNode.Text;//treeview的选项在textbox中显示出来
            if (checkBox1.Checked == true)
            {
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.Load("User.xml");                            //打开xml文件
                XmlNode xn = xmldoc.SelectSingleNode("UserLogin");  //检索根节点
                XmlNodeList xn1 = xn.ChildNodes;                    //获取所有子节点
                int i = 0;                                          //计次变量
                DataSet ds = new DataSet();                         //实例化dataset对象
                ds.ReadXml("User.xml");                             //读入数据
                for (int j = 0; j < ds.Tables[0].Rows.Count; j++) //循环
                {
                  
                    for (int k = 0; k < ds.Tables[0].Rows.Count; k++)
                    {

                        if (treeView1.SelectedNode == ds.Tables[0].Rows[j][0])//判断选择项是否与xml的id匹配
                        {
                            textBox1.Text = ds.Tables[0].Rows[0][k].ToString();//密码textbox控件获得密码
                        }
                    }

                }
            }
            treeView1.Visible = false;//隐藏treeivew
        }





箭头处的textbox为空,不显示任何值!

xml文件是这样的。
搜索更多相关主题的帖子: 文本框 密码 用户 项目 
2017-05-15 15:13
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
得分:50 
这种问题调试一下应该很容易找到的
大致看了下代码,密码框为空表示
textBox1.Text = ds.Tables[0].Rows[0][k].ToString();//密码textbox控件获得密码
这句应该没有执行,或是datatable该单元格没有值。另外这句Rows[0][k]是有问题的,可能是Rows[j][k]才对
如果是没有执行,那就是
if (treeView1.SelectedNode == ds.Tables[0].Rows[j][0])//判断选择项是否与xml的id匹配
这句判断没有为真,可能是两边值不等,或是两边类型不一致
还有
for (int j = 0; j < ds.Tables[0].Rows.Count; j++) //循环
for (int k = 0; k < ds.Tables[0].Rows.Count; k++)
这两句for除了变量不一样,别的都一样,第二个for应该是循环列,而不是行
还有
xmldoc.Load("User.xml");                            //打开xml文件
XmlNode xn = xmldoc.SelectSingleNode("UserLogin");  //检索根节点
XmlNodeList xn1 = xn.ChildNodes;                    //获取所有子节点
int i = 0;                                          //计次变量
这4句,因为都是局部变量,然而在事件里面并没有使用到,可能没有什么作用
最后应该检查一下xml数据是否读入到dataset里面去了
2017-05-15 19:56
leisiege
Rank: 4
等 级:业余侠客
威 望:8
帖 子:95
专家分:235
注 册:2015-10-22
得分:0 
调试下吧。挺乱的。
2017-06-30 22:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-477011-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.104018 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved