用户
 找回密码
 立即注册

23

主题

58

帖子

985

积分

高级会员

Rank: 4

积分
985
发表于 2019-7-7 23:00:14
各位专家,

遇到一个奇怪的问题,listview 中使用usercontrol 并绑定DataTable , 当DataTable从数据库中读取到数据后,如果只有一条数据记录,在listview中显示正常,但如果是多余1条记录的时候,则listview中显示出相应数量的空行。

脚本配置摘录如下:

            if (Mydr.HasRows)
            {
                DT = new DataTable();
                DT.Columns.Add("id");
                DT.Columns.Add("Customer");
                DT.Columns.Add("OpType");
                DT.Columns.Add("Duration");
                DT.Columns.Add("Pressure");
                while (Mydr.Read())
                {
                    DT.Rows.Add(Mydr["id"].ToString(), Mydr["EndUserID"].ToString(), Mydr["OpType"].ToString(), Mydr["TotalTime"].ToString(), Mydr["Pressure"].ToString());
                }
            }


                if (DT_Workorder!= null && DT_Workorder.Rows.Count > 0)
                {
                    listView1.Rows.Clear();
                    listView1.DataSource = DT_Workorder;
                    listView1.DataBind();

                }


错误的图示是当从数据库中读出2条记录的时候。断点跟踪显示,DT_workorder中的数据是无误的,而且在tableview中也能看得出,有2个数据位,但里面的内容是空的。

各位有没有遇到过类似情况?盼分享。

谢谢
大杰米

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
使用道具 举报 回复
可以检查下listview的模板类中是否设置dock属性,模板类中使用相对布局会导致listview显示异常,建议使用相对布局
使用道具 举报 回复 支持 反对
本帖最后由 bigjimmy8257 于 2019-7-8 15:49 编辑
Lula.Jin 发表于 2019-7-8 13:15
可以检查下listview的模板类中是否设置dock属性,模板类中使用相对布局会导致listview显示异常,建议使用相 ...

Luna,

listView1 在窗体的Panel中是使用了 Dock = FILL,  

在UserControl 模板中 有3个Panel:- UserControl
   - PanelRoot      Dock = FILL
         - PanelTop         Dock = TOP
         - PanelButtom   Dock = TOP

您的建议是使用 绝对布局 还是 相对布局?  这个布局是对于 模板而言的是吧?

还有个很奇怪的事情,在开发模式的时候,当我在 usercontrol模板中加入一个 CheckBox,当触发它的 CheckedChanged 事件时,即使里面什么
都不做,会导致模板中 PanelTop 中的内容全部 消失。不过退出APP再重新进入,会看到内容又出现了。 等我稍后试一下在发布模式下会怎样表现。
使用道具 举报 回复 支持 反对
listview的usercontrol不要设置dock属性
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册