问个GridVeiw的问题

wylovemzc 2009-02-01 03:57:27
我现在有2个表
其实1个表显示的是数据,数据里有编号,调查编号,状态(超连接)
另外1个表是用户表,用户名有调查编号,用户名,状态
用户表中的状态为"有效"的时候,那么他可以点击GridView中的状态(超连接)
如果用户表的用户状态为"失败","成功","进行中",那么查出来的GridView中的状态列就更新成"失败","成功","进行中"的任何1个,而且不可以点击
请问这个我要如何实现啊?谢谢各位高手帮忙

我想要的结果是
数据表
编号 调查编号 状态(超连接)
1 20081212 有效

用户表
调查编号 用户名 状态
20081212 aaa 有效
当用户表的状态是有效的时候就显示以上数据,并且超连接可以点,如果用户表的状态为失败,那么数据表显示的数据是下面的数据
编号 调查编号 状态(不可以点击)
1 20081212 失败
...全文
142 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞飞虫2015 2009-02-02
  • 打赏
  • 举报
回复
帮顶了
周公 2009-02-02
  • 打赏
  • 举报
回复

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridViewLinkButton.aspx.cs" Inherits="GridViewLinkButton" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="gvPersonList" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="Id" HeaderText="编号" />
<asp:BoundField DataField="Name" HeaderText="姓名" />
<asp:TemplateField HeaderText="性别">
<ItemTemplate>
<%# Eval("Sex").ToString()=="true"?"男":"女" %>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Age" HeaderText="年龄" />
<asp:TemplateField HeaderText="婚否">
<ItemTemplate>
<%# Boolean.Parse(Eval("Married").ToString())==true?"是":"否" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="婚否">
<ItemTemplate>
<asp:LinkButton CommandArgument='<%# Eval("Id") %>' Enabled='<%# Boolean.Parse(Eval("Married").ToString())==true?false:true %>' Text="设为结婚" runat="server" OnCommand="SetMarried"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

</div>
</form>
</body>
</html>
周公 2009-02-02
  • 打赏
  • 举报
回复
cmaisyd 2009-02-01
  • 打赏
  • 举报
回复

<asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound" AutoGenerateSelectButton="True" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
<Columns>
<asp:BoundField HeaderText="状态" />
</Columns>
<RowStyle BorderStyle="Double" />
</asp:GridView>


记得添加事件RowDataBound


protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DataRowView row = e.Row.DataItem as DataRowView;
if (row["状态字段名"] == "成功")
{
//GridView1中显示字段的位置,假如在第5列就用e.Row.Cells[4].Text
e.Row.Cells[0].Text = "<a href=\"连接地址\">成功</a>";
}
else
{
e.Row.Cells[0].Text = "失败";
}
}
}

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧