用户
 找回密码
 立即注册

1

主题

1

帖子

21

积分

新手上路

Rank: 1

积分
21
发表于 2019-7-22 23:05:27
各位前辈好,小弟新人,初来乍到请多指教。

我在看开发视频中的数据列表展示,将如何listview调用用户模板,模板中有image控件,但是我没看明白,怎么样将用户模板中的image控件绑定到数据库的字段上。

我用的mariadb作为数据库端,其中数据表 test 中有三个字段, id (INT), name(VARCHAR50),picture(MEDIUMBLOG) , 我在用户模板中添加了3个控件:
label1 , label2 和 image1, 分别对应数据表中的三个字段:
    label1.DisplayMember = id;
    label2.DisplayMember = name;
    image1.DisplayMember = picture;

DataTable DT = new DataTable();
DT.Columns.Add("id" );
DT.Columns.Add("name");
DT.Columns.Add("picture", typeof(byte[]) );

MySqlConnection con = new MySqlConnection("Database=test; Data Source = 127.0.0.1; port= 3306; User Id=root; Password=root; ");
con.open();

MySqlCommand cmd = new MySqlCommand("select * from test", con);
cmd.ExecuteQuery();

MySqlDataReader dr = cmd.ExecuteReader();
DT.Load(dr);

listview1.DataSource = DT;
listview1.DataBind();


执行结果,在listview中,用户模板上的label1 和 label2 都能够绑定到DT的id 和 name , 并能够正确的显示出数据表中的内容,但是 image1中显示不出 数据表中MEDIUMBLOG字段中的图像。


请帮我看一下上面的代码错在哪里了?为什么图像字段不能加载到image1kong'j。


使用道具 举报 回复
usercontrol中的image的displaymemer设置你想绑定的字段,这样databind后会将数据绑定到imag的resourceid,如果你是绑定二进制图片需要再listview的RowBind事件中对image的resourceData单独赋值二进制流
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册