首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 新手提问,关于datagrid [已结贴,结贴人:canny1543]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • canny1543
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-03-27 11:46:31 楼主
    请问,先将从数据库里查询的结果保存到dataset中,然后绑定到datagrid,现在想把查询结果中满足某些条件的记录的一个字段突出显示(红色),该怎么办呢?
    比如:我现在要查找学生的成绩:
    select StudentName,CourseName,score
    from t_StudentCourse
    where user_id=1001
    恰好1001号学生的成绩中有一门不及格,需要把不及格的那个分数(比如59)突出显示出来,要怎么办呢?
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zsj830120
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-03-27 12:01:281楼 得分:2
    绑定datagrid后,遍历datagrid的每一行,
    找到成绩对应的列,取出值,做比较
    小于60就变个颜色,不小于就不管不就行了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sunrain_yingxi
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-03-27 12:06:282楼 得分:2
    按下面這樣做就好了,假設grid名稱為DataGrid2,成績在第二行
    private void DataGrid2_ItemDataBound(object sender,System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.Cells[1].Text =="100")
    e.Item.Cells[1].ForeColor = System.Drawing.Color.Red;
    }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • gaoliuchang
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-03-27 12:15:333楼 得分:2
    <%# CleanString.color(DataBinder.Eval(Container.DataItem, "score ").ToString(),
    Int(DataBinder.Eval(Container.DataItem, "score ").ToString()) <60)%>
    CleanString.color(string str,bool bo)        //这个控制颜色,大小方法


    我感觉这样会更好!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wzy_love_sly
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-03-27 12:19:374楼 得分:6
    C# code
    protected void GridView1_Load(object sender, EventArgs e) { for(int i=0;i<GridView1.Rows.Count;i++) { if (Convert.ToInt32(GridView1.Rows[i].Cells[2].Text) < 60) { GridView1.Rows[i].Cells[2].Text = "<font color='red'>" + GridView1.Rows[i].Cells[2].Text + "</font>"; } } }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sun_Ke
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-03-27 12:30:125楼 得分:2
    ItemDataBond事件里判断分数,然后改变CSS样式
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • nj_1st_excellence
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-03-27 12:41:306楼 得分:6
    在Grid 的 OnRowDataBound 事件中 处理


        protected void grd_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                DataRowView data = (DataRowView)e.Row.DataItem;

                if (Convert.ToDecimal(data["score"].ToString()) < 60)
                {
                    e.Row.Cells[2].ForeColor = System.Drawing.Color.Red;
                }

            }
        }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • canny1543
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-03-27 12:44:477楼 得分:0
    先谢谢各位了。
    4楼的办法用在datagrid上也可以吧,是不是只要把GridView1修改成datagrid1就可以了呢?我现在这个机子上没有装2003,没有办法调试。你个的方法在2005里面是可以的。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wo594261
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-03-27 12:57:388楼 得分:0
    接分
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • canny1543
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-03-27 13:18:229楼 得分:0
    谢谢各位的热心回复,分不多,大家都有份,给的不好请见谅啊
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved