页面记载一个gridview1第一列是一个日期,点击每个日期都能打开新的页面去查询这个日期的详细信息,这点已经实现,在这个gridview1的最后一行是汇总(汇总是在sqlserver那边实现的),最后一行的日期字段是 sum这样就有了一个问题,最后一行的sum也成了链接,能不能在页面绑定的时候
把sum的这一行的链接去掉,让用户无法点击这个链接
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{ if (GridView1.Rows[i].Cells[0].Text.ToString().Trim() == "sum")
{
GridView1.Rows[i].Cells[0].????这里应该怎么写????
}
}
}
把sum的这一行的链接去掉,让用户无法点击这个链接
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{ if (GridView1.Rows[i].Cells[0].Text.ToString().Trim() == "sum")
{
GridView1.Rows[i].Cells[0].????这里应该怎么写????
}
}
}
<%if(*****=="sum")
{ %>
<a href="">********</a>
<%}else{ %>
空
<%} %>
或者用LinkButton 的CommandArgument 和CommandName在GridView的RowCommand中操作。。
额、就这样吧。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px"
CellPadding="3" CellSpacing="1" GridLines="None"
onrowdatabound="GridView1_RowDataBound" >
<RowStyle BackColor="#DEDFDE" ForeColor="Black" />
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="Test_Datetime"
DataNavigateUrlFormatString="TRXdayquery.aspx?date={0}" DataTextField="Test_Datetime"
HeaderText="测试时间" Target="_blank" />
<asp:BoundField DataField="tn" HeaderText="测试数" />
<asp:BoundField DataField="pn" HeaderText="通过数" />
<asp:BoundField DataField="Rate" HeaderText="一次测试通过率%" />
</Columns>
<FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
<PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" />
<SelectedRowStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" />
</asp:GridView>
if (GridView1.Rows[i].Cells[0].Text.ToString().Trim() == "sum")这句话执行吗?
Enabled=false;这样写,我这里好用啊
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
if (i==GridView1.Rows.Count - 1)
GridView1.Rows[i].Cells[0].Enabled = false;
}
}
这些写 我只是想 去掉最后一行第一列的 链接格式,但是 实际效果是 把第一列全部灰掉了怎么改呢? 多谢帮助啊
{
GridView1.Rows[GridView1.Rows.Count].Enabled = false;
}就是想把最后一行的属性改为false
这样改 报错 说超出index大小 怎么改一下呢?
建议:在数据库中的到这个求和的结果用ExecuteScalar返回,在输出,效果好多了
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
int i = GridView1.Rows.Count - 1;
GridView1.Rows[i].Enabled = false;
}谢谢LS的建议,但是就想搞明白为这么我这么写无法运行呢,为什么这么写要提示我 index超出范围