高手们,请看: 现在我在datagrid1中绑定两列,分别为第3列和第4列,第3列绑定数值,第4列绑定一个NEW图标,目的是:如果datagrid1中的每一行(每条记录)中如果第3列(即每一行中第3个单元格)中的值显示为1时,该行中的第4个单元格中的NEW图标可见,反之如果每一行中第3个单元格中的数值为0时,该行中的第4个单元格中的图标不可见现在我用的函数是
private void datagrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{ foreach (DataGridItem objitem in datagrid1.Items )
{
if (System.Int32.Parse(objitem.Cells[4].Text) == 1)
{
objitem.Cells[3].Text = "<img src='mail_pic/new.gif'/>";
}
else
{
objitem.Cells[3].Text = "";
}
}
}
可是这个代码执行时没错,可是却不能达到目的,不能让每一行中的第3个单元格的图标的显示与否 随 该行中的第4个单元格中的显示的内容而变化《注:这是做邮件系统时,控制邮件是否已读,遇到的问题》各位高手,请帮忙给检查一下
private void datagrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{ foreach (DataGridItem objitem in datagrid1.Items )
{
if (System.Int32.Parse(objitem.Cells[4].Text) == 1)
{
objitem.Cells[3].Text = "<img src='mail_pic/new.gif'/>";
}
else
{
objitem.Cells[3].Text = "";
}
}
}
可是这个代码执行时没错,可是却不能达到目的,不能让每一行中的第3个单元格的图标的显示与否 随 该行中的第4个单元格中的显示的内容而变化《注:这是做邮件系统时,控制邮件是否已读,遇到的问题》各位高手,请帮忙给检查一下
建议使用
private void datagrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
for (int i = 0; i < DataGrid1.Items.Count; i++)
{
if (DataGrid1.Items[i].Cells[4].Text == Convert.ToString(1))
{
objitem.Cells[3].Text = "<img src='mail_pic/new.gif'/>";
}
else
{
objitem.Cells[3].Text = "";
}
}
}经测试没有问题,如果这样还显示不出图片就查看你的文件名或者路径有没有写错,在aspx页里面拖一个<img>设置好了复制过去。
我的代码是:
private void datagrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) {
for (int i = 0; i < datagrid1.Items.Count; i++)
{
if (datagrid1.Items[i].Cells[4].Text == Convert.ToString(1))
{
datagrid1.Items[i].Cells[3].Text = "haveread";
}
else
{
datagrid1.Items[i].Cells[3].Text = "new"; }
}
}
页面代码是:<asp:DataGrid runat ="server" ID ="datagrid1" Height="1px" Width="600px" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None" >
<Columns>
<asp:TemplateColumn HeaderText="删除">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="from_userid" HeaderText="发件人">
<ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" HorizontalAlign="Center" />
<FooterStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" HorizontalAlign="Center" />
<HeaderStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" HorizontalAlign="Center" />
</asp:BoundColumn>
<asp:HyperLinkColumn DataNavigateUrlField="id" DataNavigateUrlFormatString="mail_show.aspx?id={0}"
DataTextField="title" HeaderText="主题" Target="mainFrame">
<FooterStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" HorizontalAlign="Center" />
<ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" HorizontalAlign="Center" />
<HeaderStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" HorizontalAlign="Center" />
</asp:HyperLinkColumn>
<asp:TemplateColumn HeaderText="读/否"></asp:TemplateColumn>
<asp:BoundColumn DataField="readed_flag" HeaderText="digital"></asp:BoundColumn>
<asp:BoundColumn DataField="sub_date" HeaderText="日期" DataFormatString="{0:D}">
<ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" HorizontalAlign="Center" />
<FooterStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" HorizontalAlign="Center" />
<HeaderStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" HorizontalAlign="Center" />
</asp:BoundColumn>
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<EditItemStyle BackColor="#2461BF" />
<SelectedItemStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<AlternatingItemStyle BackColor="White" />
<ItemStyle BackColor="#EFF3FB" />
<HeaderStyle BackColor="#6699FF" Font-Bold="True" ForeColor="White" /> </asp:DataGrid>
不行呀,“读/否”这一列什么出没有呀
请指教!!