datagrid技巧之一:代码控制选中行的颜色 览和打印

时间:2010-03-16 17:38:17  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:们首先动态产生1000行,然后当用户选中datagrid中的某一行的时候,那一行就会变为蓝色。代码如下:      using System;   using System.Collections;   using System.ComponentModel;   using System.Data;   using System.Drawing;   using System.Web;  ...
  正文:大家都知道datagrid是一个使用频率很高的控件,在编写ASP/ target=_blank class=infotextkey>asp.NET代码的时候,我们总希望能让用户选中指定的行以后,让那一行用不同的颜色显示,虽然datagrid样式也有这个功能,但是我们如何编写代码实现呢?
  
  在本例子中,我们首先动态产生1000行,然后当用户选中datagrid中的某一行的时候,那一行就会变为蓝色。代码如下:
  
  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;
  
  namespace WebApplication_rd
  {
   /// <summary>
   /// Demostrates how to have a datagrid server control be bookmarked
   /// </summary>
   public class datagrid : System.Web.UI.Page
   {
  
   protected System.Web.UI.WebControls.DataGrid DGProducts;
   int bookmarkIndex = 0; // The index of the row that should be scrolled to
   int itemCount = 0; // Counter for the amount of items on the page
   bool bookMark = true; // Controls whether or not the page is bookmarked
  
   #region DGProducts EventHandlers
  
   private void DGProducts_ItemDataBound(object source, DataGridItemEventArgs e) {
  
   if (bookMark) {
  
   LiteralControl anchor = new LiteralControl();
   anchor.Text = "<a name="" + itemCount.ToString() + "">";
   itemCount ++;
   e.Item.Cells[0].Controls.Add(anchor);
  
   }
  
   }
  
   private void DGProducts_ItemCommand(object source, DataGridCommandEventArgs e) {
  
   if (e.CommandName == "Select") {
  
   e.Item.BackColor = Color.Blue;
  
   if (bookMark) {
   bookmarkIndex = e.Item.ItemIndex;
   this.InsertScriptBlock();
   }
   }
  
   }
  
  
   #endregion
  
   #region EventHandlers
   private void Page_Load(object sender, System.EventArgs e)
   {
  
   this.Bind();
  
   }
  
   #endregion
  
   #region User Defined
  
   private void InsertScriptBlock() {
  
   System.Text.StringBuilder jScript = new System.Text.StringBuilder();
   jScript.Append("<script language="JavaScript">");
   jScript.Append("location.href="#");
   jScript.Append(this.bookmarkIndex.ToString());
   jScript.Append("";");
   jScript.Append("</script>");
  
   this.RegisterClientScriptBlock("Bookmark", jScript.ToString());
  
   }
  
  
   private void Bind()
   {
  
   DGProducts.DataSource = this.CreateDataSource(1000);
   DGProducts.DataBind();
  
   }
  
  
"datagrid技巧之一:代码控制选中行的颜色 览和打印"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/aspnet/13249.html


关键字:

关于《datagrid技巧之一:代码控制选中行的颜色 览和打印》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td