Datagrid中的一列显示状态,怎么实现这个状态的改变?内详,谢谢帮助

chucan001 2010-11-27 11:05:32
我做网页 有个页面功能是评分 先从几张表里选出数据 绑定到一个datagrid,而这个datagrid再加两列,一列显示状态(是否评分),一列是链接进入打分页面。每评一个分后会在一个得分表里新写入一条记录.
现在的问题是,这个是否评分的状态怎么实现?打完分后就从“未评估”变为“已评估”或者变为刚提交的分数?

目前的样子如图,可能会被百度判为盗链,所以补上这个相册,贴上地址:http://hi.baidu.com/chucan001/album/item/2daa08cdb191801d0fb345d1.html

datagrid:

表D的数据结构


大致流程如下:
这个datagrid的数据时从A/B/C三个表里联合查询的来的,select语句中有两个参数,用户(即评分人)的UID和学期Term,都是能自己获取的。那个“进入”链接会传递四个参数到打分的页面,分别是 被评分人的UID、Term、课程组名ACCname、类型Type。在打分页面完成评分后,就把传递来的四个参数和打的分数,作为一条记录插入得分表D中。

有大侠指教一下吗?谢谢!
...全文
72 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
deoing 2010-11-28
  • 打赏
  • 举报
回复
看不到图片,可以参考下面的方式:
aspx页面:

<asp:DataGrid ID="compGrid" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundColumn DataField="Name" HeaderText="名称"></asp:BoundColumn>
<asp:BoundColumn DataField="Fen" HeaderText="分数"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="状态">
<ItemTemplate>
<%# (int)Eval("Fen") > 0 ? "已评估" : "未评估" %>
</ItemTemplate>
</asp:TemplateColumn>
<asp:HyperLinkColumn HeaderText="评估" DataNavigateUrlField="Bianhao"
DataNavigateUrlFormatString="dafeng.aspx?bianhao={0}" HeaderText="打分" Text="打分">
</asp:HyperLinkColumn>
</Columns>
</asp:DataGrid>

其中:
“状态”列就是根据分数来自动显示对应的状态。
“评估”列就是打分的地址页。
wuyq11 2010-11-28
  • 打赏
  • 举报
回复
模板列
<asp:TemplateColumn HeaderText="状态">
<ItemTemplate>
<%# (int)Eval("分值") > 0 ? "已评估" : "未评估" %>
</ItemTemplate>
</asp:TemplateColumn>
jwindow 弹出模式窗体,评分
wuyq11 2010-11-28
  • 打赏
  • 举报
回复
模板列
<asp:TemplateColumn HeaderText="状态">
<ItemTemplate>
<%# (int)Eval("分值") > 0 ? "已评估" : "未评估" %>
</ItemTemplate>
</asp:TemplateColumn>
jwindow 弹出模式窗体,评分
wuyq11 2010-11-28
  • 打赏
  • 举报
回复
模板列
<asp:TemplateColumn HeaderText="状态">
<ItemTemplate>
<%# (int)Eval("分值") > 0 ? "已评估" : "未评估" %>
</ItemTemplate>
</asp:TemplateColumn>
jwindow 弹出模式窗体,评分
wwfgu00ing 2010-11-28
  • 打赏
  • 举报
回复
<%# (int)Eval("Fen") > 0 ? "已评估" : "未评估" %>
用js 在处理会更加灵活些
wwfgu00ing 2010-11-28
  • 打赏
  • 举报
回复
<%# (int)Eval("Fen") > 0 ? "已评估" : "未评估" %>
用js 在处理会更加灵活些
wwfgu00ing 2010-11-28
  • 打赏
  • 举报
回复
<%# (int)Eval("Fen") > 0 ? "已评估" : "未评估" %>
利用这个可以,利用js在对每一列处理也可以,不够js会灵活些
chucan001 2010-11-28
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ys0703 的回复:]
你把select语句改一下,比如原来的是
select A.TERM,B.TeacherName.C.AccName,C.Role
from A inner join B on A.*=B.* inner join C on C.*=B.* where ……
加工一下,如下:(设D表中得分的列名为Score)
select A.TERM,B.TeacherName.C.AccName,C……
[/Quote]
谢谢 是这么个意思
也谢谢楼上各位
ys0703 2010-11-28
  • 打赏
  • 举报
回复
你把select语句改一下,比如原来的是
select A.TERM,B.TeacherName.C.AccName,C.Role
from A inner join B on A.*=B.* inner join C on C.*=B.* where ……
加工一下,如下:(设D表中得分的列名为Score)
select A.TERM,B.TeacherName.C.AccName,C.Role, CASE WHEN D.Score IS NULL THEN '未评估' ELSE CONVERT(varchar(20), D.Score) END AS Pinggu
from A inner join B on A.*=B.* inner join C on C.*=B.* LEFT OUTER JOIN D ON D.ACCName = C.ACCName AND (类似于此的限定条件,具体个数参照你的参数) where ……

应该能解决
hch126163 2010-11-27
  • 打赏
  • 举报
回复
评分页面可以用一个层来做!

评分后用js 修改对应的状态就可以
wuyq11 2010-11-27
  • 打赏
  • 举报
回复
看不见图片
在一个得分表里写入一条记录时,修改评分状态,重新绑定数据到datagrid

62,046

社区成员

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

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

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

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