Ê×Ò³ | Ãâ·ÑÓòÃû | ¸öÈË·þÎñÆ÷ | Ò»Á÷ÐÅÏ¢¼à¿ØÀ¹½Øϵͳ | ÐéÄâÖ÷»ú֪ʶ¿â | ASP ¿Õ¼ä | ASP¼¼Êõ´óÈ« | ÏÂÔØÖÐÐÄ | ¿Í»§·þÎñÖÐÐÄ
¡¡ 7i24 > ASP.Net¼¼Êõ´óÈ« > ASP.Net´úÂëÀÖÔ° >
    7i24 .Com  
  Ò»¸öʵÏÖ×Ô¶¯ÇóºÍ¡¢ºÏ²¢µ¥Ôª¸ñ¡¢ÅÅÐòµÄDataGrid

7i24.Com²»Í£ÎªÄú·þÎñ


×÷ÕߣºÑ©µØÇàËÉ¡¡
ÒÔÇ°ÔÚaspºÜÄÑʵÏÖ´úÂëÖØÓÃ,asp.netºÜºÃµÄ½â¾öÁËÕâ¸öÎÊÌâ,ÒÔÏÂÊÇÎÒдµÄDataGrid,¼Ì³ÐDataGrid,¼Ó½øÁËÉý½µÐò/È«²¢µ¥Ôª¸ñ/×Ô¶¯ÇóºÍ¹¦ÄÜ,Ô­ÀíºÜ¼òµ¥,µ«ºÜºÃµÄʵÏֵĴúÂëÖØÓÃ.
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
namespace SunService
{
¡¡/// <summary>
¡¡/// Summary description for DataGrid.
¡¡/// </summary>
¡¡[DefaultProperty("Text"),
¡¡ToolboxData("<{0}:DataGrid runat=server></{0}:DataGrid>")]
¡¡public class DataGrid : System.Web.UI.WebControls.DataGrid
¡¡{
¡¡¡¡private string text;
¡¡¡¡private SqlDataAdapter adp;
¡¡¡¡private DataSet ds;
¡¡¡¡private DataView view;
¡¡¡¡private string[] arritem;
¡¡¡¡[Bindable(true),
¡¡¡¡Category("Appearance"),
¡¡¡¡DefaultValue("")]
¡¡¡¡public string Text
¡¡¡¡{
¡¡¡¡¡¡get
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡return text;
¡¡¡¡¡¡}

¡¡¡¡¡¡set
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡text = value;
¡¡¡¡¡¡}
¡¡¡¡}
¡¡¡¡/// <summary>
¡¡¡¡/// protect SortDirection ÅÅÐò·½Ïò
¡¡¡¡/// </summary>

¡¡¡¡public string SortDirection
¡¡¡¡{
¡¡¡¡¡¡get
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡if(ViewState["SortDirection"]==null)
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡return null;
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡else
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡if(ViewState["SortDirection"].ToString()=="")
¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡return null;
¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡else
¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡return ViewState["SortDirection"].ToString();
¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡}
¡¡¡¡¡¡set
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡ViewState["SortDirection"]=value;
¡¡¡¡¡¡}
¡¡¡¡}
¡¡¡¡/// <summary>
¡¡¡¡/// protect SortField ÅÅÐò×Ö¶Î
¡¡¡¡/// </summary>
¡¡¡¡public string SortField
¡¡¡¡{
¡¡¡¡¡¡get
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡if(ViewState["SortField"]==null)
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡return null;
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡else
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡if(ViewState["SortField"].ToString()=="")
¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡return null;
¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡else
¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡return ViewState["SortField"].ToString();
¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡}
¡¡¡¡¡¡set
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡ViewState["SortField"]=value;
¡¡¡¡¡¡}
¡¡¡¡}
¡¡¡¡/// <summary>
¡¡¡¡/// sql ²éѯ×Ö´®
¡¡¡¡/// </summary>¡¡¡¡
¡¡¡¡public string selectCommandText
¡¡¡¡{
¡¡¡¡¡¡get
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡if(ViewState["selectCommandText"]==null)
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡return null;
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡else
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡if(ViewState["selectCommandText"].ToString()=="")
¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡return null;
¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡else
¡¡¡¡¡¡¡¡¡¡{

¡¡¡¡¡¡¡¡¡¡¡¡return ViewState["selectCommandText"].ToString();
¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡}
¡¡¡¡¡¡set
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡ViewState["selectCommandText"]=value;
¡¡¡¡¡¡}
¡¡¡¡}
¡¡¡¡/// <summary>
¡¡¡¡/// Á¬½Ó×Ö´®
¡¡¡¡/// </summary>
¡¡¡¡public string selectConnectionString
¡¡¡¡{
¡¡¡¡¡¡get
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡if(ViewState["selectConnectionString"]==null)
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡return null;
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡else
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡return ViewState["selectConnectionString"].ToString();
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡}
¡¡¡¡¡¡set
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡ViewState["selectConnectionString"]=value;
¡¡¡¡¡¡}
¡¡¡¡}
¡¡¡¡public DataTable Bindtable;
¡¡¡¡public DataGrid()
¡¡¡¡{
¡¡¡¡¡¡this.Init+=new System.EventHandler(this.DataGrid_Init);
¡¡¡¡}
¡¡¡¡private void DataGrid_Init(object sender,EventArgs e)
¡¡¡¡{

¡¡¡¡¡¡this.Load+= new System.EventHandler(this.DataGrid_Load);¡¡¡¡¡¡
¡¡¡¡¡¡this.SortCommand+=new System.Web.UI.WebControls.DataGridSortCommandEventHandler(this.DataGrid_SortCommand);
¡¡¡¡¡¡this.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid_ItemDataBound);

¡¡¡¡}
¡¡¡¡private void DataGrid_Load(object sender,EventArgs e)
¡¡¡¡{
¡¡¡¡¡¡this.HorizontalAlign=HorizontalAlign.Center;
¡¡¡¡¡¡this.AllowSorting=true;
¡¡¡¡¡¡arritem=new string[256];
¡¡¡¡¡¡ds=new DataSet();
¡¡¡¡¡¡
¡¡¡¡¡¡
¡¡¡¡}
¡¡

¡¡¡¡/// <summary>
¡¡¡¡/// GRID°ó¶¨
¡¡¡¡/// </summary>
¡¡¡¡/// <param name="selectCommandText">²éѯ×Ö´®</param>
¡¡¡¡/// <param name="selectConnectionString">Á¬½Ó×Ö´®</param>
¡¡¡¡public void BindGrid(string selectCommandText,string selectConnectionString)
¡¡¡¡{
¡¡¡¡¡¡this.selectCommandText=selectCommandText;
¡¡¡¡¡¡this.selectConnectionString=selectConnectionString;
¡¡¡¡¡¡BindGrid();
¡¡¡¡¡¡
¡¡¡¡}
¡¡¡¡/// <summary>
¡¡¡¡/// grid°ó¶¨
¡¡¡¡/// </summary>
¡¡¡¡/// <param name="selectCommandText">²éѯ×Ö´®</param>
¡¡¡¡/// <param name="cn">Á¬½Ó¶ÔÏó</param>
¡¡¡¡public void BindGrid(string selectCommandText,SqlConnection cn)
¡¡¡¡{
¡¡¡¡¡¡this.selectCommandText=selectCommandText;
¡¡¡¡¡¡this.selectConnectionString=cn.ConnectionString;
¡¡¡¡¡¡BindGrid();
¡¡¡¡}
¡¡¡¡/// <summary>
¡¡¡¡/// grid°ó¶¨,±ØÐëÏÈÉèÖà selectCommmandText ¼°SelectConnectionString ÊôÐÔ
¡¡¡¡/// </summary>
¡¡¡¡public void BindGrid()
¡¡¡¡{
¡¡¡¡¡¡if(this.selectCommandText!=null&&this.selectConnectionString!=null)
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡adp=new SqlDataAdapter(this.selectCommandText,this.selectConnectionString);
¡¡¡¡¡¡¡¡adp.Fill(ds,"temp");
¡¡¡¡¡¡¡¡view=ds.Tables["temp"].DefaultView;

¡¡¡¡¡¡¡¡if(this.SortField!=null)
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡view.Sort=this.SortField+" "+this.SortDirection;
¡¡¡¡¡¡¡¡¡¡int sortfieldindex=0;
¡¡¡¡¡¡¡¡¡¡for( int i=0;i<ds.Tables["temp"].Columns.Count;i++)
¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡if(ds.Tables["temp"].Columns[i].ColumnName==this.SortField)
¡¡¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡sortfieldindex=i;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡break;
¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡string SortDirectionImg="¡ø";
¡¡¡¡¡¡¡¡¡¡if(this.SortDirection==" DESC")
¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡SortDirectionImg="¨‹";

¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡if(this.SortField!=this.DataKeyField)
¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡ds.Tables["temp"].Columns[sortfieldindex].ColumnName+=SortDirectionImg;
¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡Bindtable=ds.Tables["temp"];
¡¡¡¡¡¡¡¡DataRow row=Bindtable.NewRow();
¡¡¡¡¡¡¡¡row[0]="×ܼÆ:";¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡for(int i=1;i<Bindtable.Columns.Count;i++)
¡¡¡¡¡¡¡¡{¡¡
¡¡¡¡¡¡¡¡¡¡Type t=Bindtable.Columns[i].DataType;
¡¡¡¡¡¡¡¡¡¡if(t==typeof(Decimal)||t==typeof(Double)||t==typeof(Int16)||t==typeof(Int32)||t==typeof(Int64)||t==typeof(UInt16)||t==typeof(UInt32)||t==typeof(Int64))
¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡row[i]=0;
¡¡¡¡¡¡¡¡¡¡¡¡foreach( DataRow r in Bindtable.Rows)
¡¡¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡try
¡¡¡¡¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡row[i]=double.Parse(row[i].ToString())+double.Parse(r[i].ToString());
¡¡¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡¡¡¡¡catch(Exception et)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡Bindtable.Rows.Add(row);
¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡this.DataSource=view;
¡¡¡¡¡¡¡¡this.DataBind();
¡¡¡¡¡¡¡¡
¡¡¡¡¡¡}
¡¡¡¡¡¡else
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡
¡¡¡¡¡¡}
¡¡¡¡}
¡¡¡¡private void DataGrid_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
¡¡¡¡{
¡¡¡¡¡¡
¡¡¡¡¡¡if(¡¡this.SortDirection==" DESC")
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡this.SortDirection=" ASC";
¡¡¡¡¡¡}
¡¡¡¡¡¡else
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡this.SortDirection=" DESC";
¡¡¡¡¡¡}
¡¡¡¡¡¡
¡¡¡¡¡¡this.SortField=e.SortExpression;
¡¡¡¡¡¡this.SortField=this.SortField.Replace("¡ø","");
¡¡¡¡¡¡this.SortField=this.SortField.Replace("¨‹","");
¡¡¡¡¡¡
¡¡¡¡¡¡BindGrid();
¡¡¡¡}


¡¡¡¡private void DataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
¡¡¡¡{
¡¡¡¡¡¡try
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡string txt="";
¡¡¡¡¡¡¡¡for(int i=0;i<e.Item.Cells.Count;i++)
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡//¡¡¡¡¡¡¡¡¡¡e.Item.Cells[i].Wrap=false;
¡¡¡¡¡¡¡¡¡¡txt=e.Item.Cells[i].Text.Trim();
¡¡
¡¡¡¡¡¡¡¡¡¡if(myClass.IsDouble(txt))
¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡e.Item.Cells[i].HorizontalAlign=HorizontalAlign.Right;
¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡else
¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡if(txt==arritem[i]&&txt!=""&&txt!=null)
¡¡¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡e.Item.Cells[i].Text="";
¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡¡¡else
¡¡¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡arritem[i]=txt;
¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡}
¡¡¡¡¡¡catch(Exception et)
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡
¡¡¡¡¡¡}

¡¡¡¡}


¡¡}
}


µ÷Óüòµ¥:
°Ñ×é¼þÍϵ½Ò³ÃæÖÐ ,¼ÙÉèIDΪ DataGrid1:
µ÷ÓÃ:DataGrid1.BindGrid(string selectCommandText,string selectConnectionString)
ÕâÑùÊ¡Á˽¨ conntion DataAdapter DataSetÔٰ󶨵Äʱ¼ä.
´ó¼Ò»¹¿É°ÑÏÔʾʱ¼äÏÔʾ¸ñʽ/Êý×ÖÏÔʾ¸ñʽµÈ¼Ó½øItemDataBoundʼþÖÐ,»¹ÓÐ×Ô¶¨Òå·ÖÒ³¹¦ÄܵÈ.



¡¡ 2002Äê1ÔÂ14ÈÕ ¡¡ÔĶÁ 5788 ´Î ¡¡·¢ËÍ´ËÒ³¸øÅóÓÑ ¡¡À´Ô´£º ¡¡ ¡¡°æȨÕùÒé¡¡¡¡É¾³ý

Ïà¹ØÎÄÕ£º   ½üÆÚÈȵ㣺

ÉÏһƪ£º ÒƵ½ ASP .NET£ºÐ迼ÂǵÄÖØÒªÎÊÌâ
ÏÂһƪ£º ÔÚASP.NETÖж¯Ì¬Éú³ÉͼÐÎ
·µ»ØÉÏÒ»²ã...
ËÑË÷£º

(C)2004-2022 7i24.Com ±£ÁôËùÓÐȨÀû