给GridView添加显示服务端图片的列

文章出处:http://moosdau.cnblogs.com 作者:木只八刀

在GridView中显示图片

这里讨论的是, 增加一个图片列, 这样每一行记录都会附带一个小图片.  如下图所示:

第一列是一个小图示, 第二列显示数据, 这样比单纯显示数据要漂亮许多.

  在GridView 里显示图片, 大抵有两种办法: <1>添加 ImageField , 绑定到数据源的某一列.
<2>编辑模板, 添加一个带Image 的列.

以下详述两种方法: <1>添加一个gridview 到页面, 点选它的任务菜单"编辑列",  在弹出的编辑框中, 选择ImageField 并点击添加, 然后选中刚刚添加的列, 右侧面板会显示出它的属性, 在DataImageUrlField 属性中, 填入数据表中的列名.

代码:

< asp:GridView ID ="GridView1" runat ="server" >             < Columns >                 < asp:ImageField DataImageUrlField ="img" >                 </ asp:ImageField >             </ Columns >         </ asp:GridView >

        然后编辑后台代码:

DataTable dt = new DataTable();         DataColumn dc = new DataColumn();         dt.Columns.Add(dc);         dc = new DataColumn( " img " );         dt.Columns.Add(dc);         DataRow dr = dt.NewRow();         dr[ 0 ] = " 11111111111111111 " ;         dr[ 1 ] = ResolveUrl( " ~/ok.gif " );         dt.Rows.Add(dr);         dr = dt.NewRow();         dr[ 0 ] = " 22222222222222222 " ;         dr[ 1 ] = ResolveUrl( " ~/ok.gif " );         dt.Rows.Add(dr);         GridView1.DataSource = dt;         GridView1.DataBind();

       编译运行, 就会看到第一幅图片的效果.

<2>编辑模板.  先编辑前台代码:

        < asp:GridView ID ="GridView1" runat ="server" >             < Columns >                 < asp:TemplateField >                     < ItemTemplate >                        < asp:Image ID ="img1" ImageUrl ='<%#Eval("img") % > ' runat="server" AlternateText="image lost" />                     </ ItemTemplate >                 </ asp:TemplateField >             </ Columns >         </ asp:GridView >

 

与第一种方式相仿, 它最终的实现机制也是去检索数据源的列名, 所以在Eval 里面, 以字符串的方式给出包含图片url 的列名, 后台代码不变. 最终效果与第一种方式同.

 

转载于:https://www.cnblogs.com/stevenjson/archive/2012/09/05/2672429.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GridView是Android中常用的布局控件,可以用于显示图片等多个项目。下面是使用GridView显示图片的步骤: 1. 在XML布局文件中添加GridView控件: ```xml <GridView android:id="@+id/gridView" android:layout_width="match_parent" android:layout_height="match_parent" android:numColumns="3" android:horizontalSpacing="10dp" android:verticalSpacing="10dp"/> ``` 其中,`numColumns`属性指定每行显示数,`horizontalSpacing`和`verticalSpacing`属性指定之间、行与行之间的间距。 2. 创建一个适配器类来为GridView提供数据: ```java public class ImageAdapter extends BaseAdapter { private Context mContext; private int[] mImages; public ImageAdapter(Context context, int[] images) { mContext = context; mImages = images; } @Override public int getCount() { return mImages.length; } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView; if (convertView == null) { imageView = new ImageView(mContext); imageView.setLayoutParams(new GridView.LayoutParams(200, 200)); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); } else { imageView = (ImageView) convertView; } imageView.setImageResource(mImages[position]); return imageView; } } ``` 在适配器的`getView()`方法中,我们创建或重用ImageView来显示图片,并设置图片资源。 3. 在Activity中设置GridView的适配器: ```java GridView gridView = findViewById(R.id.gridView); int[] images = {R.drawable.image1, R.drawable.image2, R.drawable.image3}; // 图片资源数组 ImageAdapter adapter = new ImageAdapter(this, images); gridView.setAdapter(adapter); ``` 这里的`images`是一个包含图片资源的整型数组,可以根据实际情况进行修改。 通过以上步骤,就可以在GridView显示图片了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值