您的位置:知识库 » .NET技术

手把手教你如何扩展GridView之自动排序篇

作者: jillzhang  来源: 博客园  发布时间: 2008-09-25 14:23  阅读: 5914 次  推荐: 0   原文链接   [收藏]  

我们在使用GridViewEx的时候,就只需要设定DataSetSource属性,这个将限定本扩展组件只支持DataSet类型的数据源,其他类型数据源有兴趣的,大家可以进行扩展,象ArrayList,List<>这些都是可以的。
接下来的工作是为GridViewEx添加OnBind事件,如下:

 

 public event BindEventHandler Bind;
        
public virtual void OnBind()
        
{
            
if (Bind != null)
            
{
                Bind();
                
if (DataSetSource != null)
                
{
                    DataView dv 
= DataSetSource.Tables[0].DefaultView;
                    dv.Sort 
= SortExpressionStr;                  
                    
this.DataSource = dv;

                    
this.DataBind();                }

            }

        }

  有了这个事件,我们就可以让GridView去类外部获取数据源,然后回到类本身来组织数据和进行绑定了。
接下来,需要声明两个方法

  [Description("排序表达式"),Category("扩展")]
        
protected virtual string SortExpressionStr
        
{
            
get
            
{
                
if (ViewState["SortExpression"== null)
                
{
                    
return null;
                }

                
return ViewState["SortExpression"].ToString();
            }

            
set
            
{
                ViewState[
"SortExpression"= value;
            }

        }

        [Description(
"排序方向"),Category("扩展")]
        
protected virtual string SortDirectionStr
        
{
            
get
            
{
                
if (ViewState["SortDirection"== null)
                
{
                    
return "DESC";
                }

                
if (ViewState["SortDirection"].ToString().ToLower() != "asc" && ViewState
          [
"SortDirection"].ToString().ToLower() != "desc")
                
{
                    
return "DESC";
                }

                
return ViewState["SortDirection"].ToString();
            }

            
set
            
{
                ViewState[
"SortDirection"= value;
            }

        }

 

0
0

.NET技术热门文章

    .NET技术最新文章

      最新新闻

        热门新闻