我做网页 有个页面功能是评分  先从几张表里选出数据 绑定到一个datagrid,而这个datagrid再加两列,一列显示状态(是否评分),一列是链接进入打分页面。每评一个分后会在一个得分表里新写入一条记录.
现在的问题是,这个是否评分的状态怎么实现?打完分后就从“未评估”变为“已评估”或者变为刚提交的分数?目前的样子如图,可能会被百度判为盗链,所以补上这个相册,贴上地址:http://hi.baidu.com/chucan001/album/item/2daa08cdb191801d0fb345d1.htmldatagrid:表D的数据结构
大致流程如下:
这个datagrid的数据时从A/B/C三个表里联合查询的来的,select语句中有两个参数,用户(即评分人)的UID和学期Term,都是能自己获取的。那个“进入”链接会传递四个参数到打分的页面,分别是 被评分人的UID、Term、课程组名ACCname、类型Type。在打分页面完成评分后,就把传递来的四个参数和打的分数,作为一条记录插入得分表D中。有大侠指教一下吗?谢谢!

解决方案 »

  1.   

    看不见图片
    在一个得分表里写入一条记录时,修改评分状态,重新绑定数据到datagrid
      

  2.   

    看不到图片,可以参考下面的方式:
    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>其中:
    “状态”列就是根据分数来自动显示对应的状态。
    “评估”列就是打分的地址页。
      

  3.   

      <%# (int)Eval("Fen") > 0 ? "已评估" : "未评估" %>
    利用这个可以,利用js在对每一列处理也可以,不够js会灵活些
      

  4.   

     <%# (int)Eval("Fen") > 0 ? "已评估" : "未评估" %>
    用js 在处理会更加灵活些
      

  5.   

     <%# (int)Eval("Fen") > 0 ? "已评估" : "未评估" %>
    用js 在处理会更加灵活些
      

  6.   

    模板列
     <asp:TemplateColumn HeaderText="状态">
                <ItemTemplate>
                <%# (int)Eval("分值") > 0 ? "已评估" : "未评估" %>
                </ItemTemplate>
            </asp:TemplateColumn>
    jwindow 弹出模式窗体,评分
      

  7.   

    模板列
     <asp:TemplateColumn HeaderText="状态">
                <ItemTemplate>
                <%# (int)Eval("分值") > 0 ? "已评估" : "未评估" %>
                </ItemTemplate>
            </asp:TemplateColumn>
    jwindow 弹出模式窗体,评分
      

  8.   

    模板列
     <asp:TemplateColumn HeaderText="状态">
                <ItemTemplate>
                <%# (int)Eval("分值") > 0 ? "已评估" : "未评估" %>
                </ItemTemplate>
            </asp:TemplateColumn>
    jwindow 弹出模式窗体,评分
      

  9.   

    你把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 ……应该能解决