用户
 找回密码
 立即注册

33

主题

96

帖子

1811

积分

金牌会员

Rank: 6Rank: 6

积分
1811
发表于 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属性
使用道具 举报 回复 支持 反对
发表于 2020-1-18 17:24:25
本帖最后由 linyan 于 2020-1-18 19:05 编辑

listView1.Rows.Clear(); 语句不能删除表已加载内容。(已解决)
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册