◆◆◆ DataGird如何增加一个图片列 ◆◆◆
我现在有一个DataGrid1
用Select a,b,c,d from abc把数据录入DatSet
DataGrid1绑定DataSet
然后想在这个DataGrid的最左边插入一列,是显示图片的,点击图片可以有超连接,超连接的地址是从数据库对应的href字段拿出来的。
那该怎么做呢?最后有代码,谢谢大家
问题点数:20、回复次数:26Top
1 楼l3300(小沙子)回复于 2005-02-25 01:37:26 得分 3
用模版列插入<img src="">
<asp:TemplateColumn HeaderText="图片">
<ItemTemplate>
<img src="">
</ItemTemplate>
</asp:TemplateColumn>
Top
2 楼lookerBlue()回复于 2005-02-25 01:51:37 得分 3
<asp:datagrid id="DataGrid1" ...>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<a href="<%#DataBinder.Eval(Container.DataItem,"imgURL")%>"><img src="img_01/lok_2004_P_003.jpg" width="12" height="12"></a>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>Top
3 楼MicroSoftASPNET(我不是思归)回复于 2005-02-25 02:01:51 得分 3
<asp:datagrid id="DataGrid1" ...>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<a href="<%#DataBinder.Eval(Container.DataItem,"imgURL")%>"><img src='<%#DataBinder.Eval(Container.DataItem,"imgURL")%>' width="32" height="32"></a>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>Top
4 楼minghui000(沉迷网络游戏)回复于 2005-02-25 12:30:52 得分 0
upTop
5 楼minghui000(沉迷网络游戏)回复于 2005-02-25 13:26:56 得分 0
绑定那里一般怎么做的?Top
6 楼flcandclf(怪手大分)回复于 2005-02-25 15:05:24 得分 2
回复人: minghui000(我是肥仔) ( ) 信誉:100
绑定那里一般怎么做的?
什么意思?上面两位高手已经手的很详细了,怎么还说绑定那里一般怎么做的?楼主是不是要问后台是怎样实现的?Top
7 楼purplesunshine(紫色阳光)回复于 2005-02-25 17:08:54 得分 0
了解,学习哦~~~Top
8 楼trulli(JarnoTrulli)回复于 2005-02-25 17:16:28 得分 2
select '<a href=xxx.aspx?id='+imgid+'><img src='+imgid+'.jpg /></a>' as image_temp from tb.. where ...
绑定到DATAGRID的BOUNDCOLUMNTop
9 楼hiying(黑鹰)回复于 2005-02-25 17:27:44 得分 0
UP
在加一个问题,我也是在处理相同的情况的时候,遇到一个问题,就是只显示文字的前20个字,不知道aspx文件怎么调用方法Top
10 楼minghui000(沉迷网络游戏)回复于 2005-02-25 19:56:39 得分 0
对 后台怎么实现?Top
11 楼ianok(再菜我也要up出個星來)回复于 2005-02-25 20:04:32 得分 0
upTop
12 楼flyingonnet(即将离开)回复于 2005-02-25 20:32:02 得分 2
上边的那两位高手给你说的可以实现,但是都是late binding,效率不高。如果你想重后台做,想法不错,是early binding,速度快的多。
做法是在ItemDataBound 里边,
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType ==ListItemType.Item || e.Item.ItemType ==ListItemType.AlternatingItem)
{
e.Item.Cells[1].Text = "<a href=\"" + e.Item.Cells[1].Text + "\"><img src=\"icon.gif\"></a>";
}
}
DataGrid的第二个列是Bound 列,Bound 给Img URLTop
13 楼minghui000(沉迷网络游戏)回复于 2005-02-26 00:03:53 得分 0
upTop
14 楼MicroSoftASPNET(我不是思归)回复于 2005-02-26 00:22:46 得分 0
一般在编辑模式下我才使用到ItemDataBound事件的。
刚载入时直接绑定比较方便,不要再多写很多代码。Top
15 楼minghui000(沉迷网络游戏)回复于 2005-02-26 00:33:14 得分 0
到底怎么写绑定那些代码呀????????????????Top
16 楼lz1928(醉春风)回复于 2005-02-26 09:26:59 得分 0
用模版列。Top
17 楼foolnet(foolnet)回复于 2005-02-26 09:45:59 得分 2
到底怎么写绑定那些代码呀????????????????
----------------------------------------------------
你把一个table作为datagrid的datasource
半顶的就是table的列的名字Top
18 楼foolnet(foolnet)回复于 2005-02-26 09:47:26 得分 2
<asp:datagrid id="ExamGrid" runat="server" CssClass="Forums_General" ItemStyle-CssClass="Forums_Item"
PagerStyle-NextPageText="后 页" PagerStyle-PrevPageText="前 页" OnPageIndexChanged="DataGrid_PageChanged"
AllowPaging="True" PagerStyle-HorizontalAlign="Right" PageSize="20" AlternatingItemStyle-CssClass="Forums_AlternatingItem"
HeaderStyle-CssClass="Forums_Header" Width="100%" AutoGenerateColumns="False">
<AlternatingItemStyle CssClass="Forums_AlternatingItem"></AlternatingItemStyle>
<ItemStyle CssClass="Forums_Item"></ItemStyle>
<HeaderStyle CssClass="Forums_Header"></HeaderStyle>
<Columns>
<asp:BoundColumn HeaderText="" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center"
DataField="GradeID" ItemStyle-Width="0px" HeaderStyle-Font-Bold="True" Visible="False"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="">
<HeaderStyle Font-Bold="True" HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" Width="80px"></ItemStyle>
<ItemTemplate>
<img border="0" Alt='编号' src="Images/Delete.gif">
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="考试时间">
<HeaderStyle Font-Bold="True" HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" Width="120px"></ItemStyle>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "AddTime", "{0:MM/dd/yy}") %>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn HeaderText="成绩" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center"
DataField="Score" ItemStyle-Width="100px" HeaderStyle-Font-Bold="True"></asp:BoundColumn>
<asp:BoundColumn HeaderText="章节" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center"
DataField="Chapters" ItemStyle-Width="140px" HeaderStyle-Font-Bold="True"></asp:BoundColumn>
<asp:BoundColumn HeaderText="试卷类型" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center"
DataField="ExamType" ItemStyle-Width="120px" HeaderStyle-Font-Bold="True"></asp:BoundColumn>
<asp:HyperLinkColumn HeaderText="详细信息" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center"
ItemStyle-Width="140px" Text="<img border=0 Alt='详细信息' src=Images/View.gif>详细信息" DataNavigateUrlField="GradeID"
DataNavigateUrlFormatString="Result.aspx?gradeid={0}"></asp:HyperLinkColumn>
</Columns>
</asp:datagrid>
-------------------------------------------------------------------------
t=g.GetGradsByStudentID( id ).Tables[0];
if(t.Rows.Count==0)
{
this.msg.Visible=true;
this.msg.Text="暂时没有考试记录!";
}
else
{
this.ExamGrid.DataSource=t;
this.ExamGrid.DataBind();
}Top
19 楼flyingonnet(即将离开)回复于 2005-02-26 10:07:48 得分 0
如果你需要大家把每一个步骤都详细的给你写出来。
我劝你先买本好书看看!!Top
20 楼onlytiancai(谁染枫林醉)回复于 2005-02-26 11:20:18 得分 1
select '<a href=xxx.aspx?id='+imgid+'><img src='+imgid+'.jpg /></a>' as image_temp from tb.. where ...
绑定到DATAGRID的BOUNDCOLUMN
思路比较新颖,呵呵Top
21 楼onlytiancai(谁染枫林醉)回复于 2005-02-26 11:21:56 得分 0
flyingonnet() 说的也不错Top
22 楼gyf19(秋天的云)回复于 2005-02-26 11:52:08 得分 0
学习了Top
23 楼minghui000(沉迷网络游戏)回复于 2005-02-26 13:54:35 得分 0
upTop
24 楼minghui000(沉迷网络游戏)回复于 2005-02-26 17:45:51 得分 0
再upTop
25 楼minghui000(沉迷网络游戏)回复于 2005-02-26 21:23:15 得分 0
不是吧?Top
26 楼loveeqing(馨郁星愿→ 看过来........)回复于 2005-08-24 14:38:19 得分 0
学习Top




