改变DataGrid特定单元格属性

原创 2004年09月23日 10:29:00

calendar.aspx
[.cs] 代码:

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient ;
namespace Pu1_Erp.practice
{
 /// <summary>
 /// calendar1 的摘要说明。
 /// </summary>
 public class calendar1 : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.TextBox My_TBox;
  protected System.Web.UI.WebControls.Button My_Btn;
  protected System.Web.UI.WebControls.Label My_Lab;
  protected System.Web.UI.WebControls.DataGrid MyDataGrid;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   if(!IsPostBack)
   {
    My_TBox.Text=System.DateTime.Now.ToString("yyyy/MM/dd");
    BindGrid();   
   }
  }
  private void BindGrid()
  {
 try
   {
    string Sdt=My_TBox.Text.Trim();
    practice pt=new practice();
    DataSet ds=new DataSet();
    ds=pt.calendar(Sdt);
    MyDataGrid.DataSource=ds;
    MyDataGrid.DataBind();}
   catch{
       Response.Write("<script>window.alert(/"输入有误,请检查...../");</script>");
     }  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.My_Btn.Click += new System.EventHandler(this.My_Btn_Click);
   this.MyDataGrid.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.MyDataGrid_ItemDataBound);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

  private void My_Btn_Click(object sender, System.EventArgs e)
  {
    BindGrid();
  }

  //寻找一个值,改变这个值所在单元格的背景颜色,为了显眼
  private void MyDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
   if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
   {
    
     for(int i=1;i<e.Item.Cells.Count;i++)
     {
      if(AddAtrr(e.Item.Cells[i].Text))
      {
        e.Item.Cells[i].BackColor =System.Drawing.Color.Red;
        e.Item.Cells[i].Text  ="√"+e.Item.Cells[i].Text; 
      }
     }
    
     
   }
  }
    
       //
  private bool AddAtrr(string nowDate)
  {
   if(nowDate==My_TBox.Text.Trim())
    return true;
   else
    return false;
  }
 }
}

[html] 代码如下:

<%@ Page language="c#" Codebehind="calendar.aspx.cs" AutoEventWireup="false" Inherits="Pu1_Erp.practice.calendar1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>calendar</title>
  <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
  <meta content="C#" name="CODE_LANGUAGE">
  <meta content="JavaScript" name="vs_defaultClientScript">
  <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
 </HEAD>
 <body background="../image/MainEarth.gif" MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
   <FONT face="宋体"></FONT><FONT face="宋体"></FONT><FONT face="宋体"></FONT>
   <asp:textbox id="My_TBox" style="Z-INDEX: 101; LEFT: 96px; POSITION: absolute; TOP: 64px" runat="server"
    Width="72px"></asp:textbox><asp:button id="My_Btn" style="Z-INDEX: 102; LEFT: 184px; POSITION: absolute; TOP: 64px" runat="server"
    Text="查询"></asp:button><asp:label id="My_Lab" style="Z-INDEX: 103; LEFT: 48px; POSITION: absolute; TOP: 64px" runat="server">日期</asp:label></form>
  <FONT face="宋体"></FONT>
  <asp:datagrid id="MyDataGrid" style="Z-INDEX: 104; LEFT: 48px; POSITION: absolute; TOP: 96px"
   runat="server" AlternatingItemStyle-BackColor="#eeeeee" HeaderStyle-BackColor="#aaaadd" Font-Size="8pt"
   Font-Name="Verdana" CellPadding="3" BorderWidth="1px" BorderColor="Black" PagerStyle-HorizontalAlign="Right"
   PagerStyle-Mode="NumericPages" PageSize="20" Font-Names="Verdana" AutoGenerateColumns="False">
   <AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle>
   <HeaderStyle BackColor="#AAAADD"></HeaderStyle>
   <Columns>
    <asp:BoundColumn DataField="月份" HeaderText="月份"></asp:BoundColumn>
    <asp:BoundColumn DataField="周/年" HeaderText="周/年"></asp:BoundColumn>
    <asp:BoundColumn DataField="周/月" HeaderText="周/月"></asp:BoundColumn>
    <asp:BoundColumn DataField="星期一" HeaderText="星期一"></asp:BoundColumn>
    <asp:BoundColumn DataField="星期二" HeaderText="星期二"></asp:BoundColumn>
    <asp:BoundColumn DataField="星期三" HeaderText="星期三"></asp:BoundColumn>
    <asp:BoundColumn DataField="星期四" HeaderText="星期四"></asp:BoundColumn>
    <asp:BoundColumn DataField="星期五" HeaderText="星期五"></asp:BoundColumn>
    <asp:BoundColumn DataField="星期六" HeaderText="星期六"></asp:BoundColumn>
    <asp:BoundColumn DataField="星期日" HeaderText="星期日"></asp:BoundColumn>
   </Columns>
   <PagerStyle HorizontalAlign="Right" Mode="NumericPages"></PagerStyle>
  </asp:datagrid>
  <div>
   <div style="BACKGROUND-COLOR: transparent" align="center">
    <marquee onmouseover="this.stop()" style="WIDTH: 482px; HEIGHT: 40px" onmouseout="this.start()"
     scrollAmount="3" scrollDelay="20" direction="left">
     <div><font style="COLOR: #006600; FONT-STYLE: italic" face="隶书" size="4">按格式输入日期,将会查询出上月、本月、下月的日历部分!字段解释:'周/年'指的是本周是本年度的第几周,同理
       '周/月'指的是本周是本月份的第几周!</font></div>
     <DIV></DIV>
     <DIV></DIV>
     <DIV></DIV>
     <DIV></DIV>
     <DIV></DIV>
     <DIV></DIV>
     <DIV></DIV>
     <DIV></DIV>
    </marquee>
   </div>
  </div>
 </body>
</HTML>

---效果:



作者: 小二

改变DataGrid单元格颜色

WPF中经常使用DataGrid来显示表格数据,我的做法是把数据先放在一个DataTable中,然后再绑定到DataGrid中,以后要读写数据就直接操作DataTable,DataGrid仅仅是一个显...
  • falcomavin
  • falcomavin
  • 2016年06月24日 11:19
  • 2996

easyUI datagrid表格 编辑单元格详解

为了研究这里的问题,网上的示例不多,基本上就是两种方法来解决单元格编辑,但是有一种还要重写easyUI的方法,这样的即使可以成功,作为这方面的新手也是很难理解,不适合广泛的使用,easyUi就是让编辑...
  • meng564764406
  • meng564764406
  • 2017年01月05日 11:04
  • 4004

datagrid的合并单元格(合并行、并列)

并列很简单: columns:[[         {field:'examId',title:'批次',width:150,align:'center',rowspan:2,     ...
  • hulufeng1203
  • hulufeng1203
  • 2014年03月03日 20:39
  • 1881

EasyUI-datagrid-自动合并单元格(转)

EasyUI-datagrid-自动合并单元格(转) Posted on 2014-08-21 17:25 shenyixin 阅读(5749) 评论(1) 编辑 收藏 1.目标  ...
  • dong281055686xin
  • dong281055686xin
  • 2016年04月14日 10:32
  • 1900

WPF DataGrid合并单元格

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.mi...
  • youqingyike
  • youqingyike
  • 2015年08月16日 15:02
  • 3622

EasyUI学习系列(一)——Datagrid单元格按钮

首先引用EasyUI文档关于formatter相关知识 属性名称 属性值类型 描述 formatter function 单元格formatter(格式化器)函数,带3个参数: value...
  • TimeAce
  • TimeAce
  • 2015年01月14日 16:17
  • 505

[easyui]datagrid鼠标移动显示单元格内容

当单元格内容过长无法完全显示怎么办?如果鼠标移动到该单元格可以自动显示出所有文字内容就好啦。 这里提供两个思路 给对应节点添加一个title属性,值就是节点的内容 添加事件,移动到单元格就用一个to...
  • qq807081817
  • qq807081817
  • 2016年01月13日 14:29
  • 2420

Easyui datagrid 动态合并单元格实现

最近在页面开发商遇到了一个新需求,要求在datagrid中实现同名单元格纵向合并效果...
  • u012760435
  • u012760435
  • 2017年01月09日 17:40
  • 464

easyui datagrid 单元格编辑保存

项目中有运用到datagrid单元格编辑,要求分数和排序两列能编辑,失去焦点后保存更新的值。 //查询该试卷题型的试题 $('#allList').datagrid({ //其中a...
  • toutou0505
  • toutou0505
  • 2015年01月29日 09:47
  • 2040

关于easyui datagrid 单元格自动换行输出的问题

easyui datagrid相信不少朋友都有用过datagrid,如果我们在生成数据表格时,有些列的内容过多,就会造成显示不全的问题,这时候我们如何在单元格的里将内容自动关换行输出呢? 原来的效果...
  • proeny
  • proeny
  • 2017年12月08日 01:10
  • 101
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:改变DataGrid特定单元格属性
举报原因:
原因补充:

(最多只允许输入30个字)