Click here to Skip to main content
Licence CPOL
First Posted 31 Jan 2012
Views 8,783
Downloads 802
Bookmarked 29 times

Userful GridView ASP.NET

By | 31 Jan 2012 | Article
I tried to summrize the common feature which we generally want in asp.net GridView.
gv.JPG

Introduction

I tried to summrize the common feature which we generally want in asp.net GridView.

  1. Fixed hedder and scrollbar – using jQuery
  2. Check Uncheck all rows - using jQuery
  3. Sorting direction imgae indicator - just by code behind no CSS no Script
  4. Filter GridView row at client side - javascript

Using the code

This is just a code snips so it will not run at you end you need to include this codes to your project and probably need to make necessarily changes.

You need to include the jquery-1.4.4.min.js and ScrollableGridPlugin.js" in you prject. (I am uploding that with this article)

1. Fixed hedder and scrollbar – using jQuery

gv_scroll.JPG

gv_scroll.JPG

Script:
<script src="../Scripts/jquery-1.4.4.min.js" type="text/javascript"></script>
    <script src="../Scripts/ScrollableGridPlugin.js" type="text/javascript"></script>
    <script language="javascript" type="text/javascript">

       // Check/ Uncheck all
        $(window).bind('load', function () {
            var headerChk = $(".chkHeader input");
            var itemChk = $(".chkItem input");
            headerChk.bind("click", function () {
                itemChk.each(function () { this.checked = headerChk[0].checked; })
            }
                   );
            itemChk.bind("click", function () { if ($(this).checked == false) headerChk[0].checked = false; });
        });


        // Fixing the hear for Scroll
       $(document).ready(function () {
            //Invoke Scrollable function.
            $('#<%=SearchResult.ClientID %>').Scrollable({
                ScrollHeight: 600,        
            });
        });


         //GV runtime filter
        function filter (term, GvId,SearchOn)
        {
            var SearchOn ='#'+SearchOn;
            var cellNr = $(SearchOn).find('input:checked').val();
            //alert(term);
            var suche = term.value.toLowerCase();
            var table = document.getElementById(GvId);
            var ele;
            for (var r = 0; r < table.rows.length; r++)
            {
                ele = table.rows[r].cells[cellNr].innerHTML.replace(/<[^>]+>/g,"");
                if (ele.toLowerCase().indexOf(suche)>=0 )
                    table.rows[r].style.display = '';
                else table.rows[r].style.display = 'none';
            }

         }

    </script>          
Code Behind: 
protected void Page_Load(object sender, EventArgs e)
    {

        try
        {
            if (!IsPostBack)
            {
                ViewState[FixInfo.SortColum] = " ";
                ViewState[FixInfo.SortDirection] = " ";
                GetPendingAds();

                //for GV runtime filter
                SearchTxt.Attributes.Add("onkeyup", "filter(this,'" + SearchResult.ClientID + "','" 
                    + SearchOn.ClientID + "')");

            }
        }
        catch (Exception ex)
        {
            LocalHelper.ShowError(ex.Message);
        }

    }

    protected void SearchResult_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.Header)
        {
            foreach (TableCell tc in e.Row.Cells)
            {
                if (ViewState[FixInfo.SortDirection].ToString().Length > 2)
                {
                    try
                    {
                        LinkButton lnkBtn = (LinkButton)tc.Controls[0];

                        if (lnkBtn != null)
                            if (ViewState[FixInfo.SortColum].ToString().Equals(lnkBtn.CommandArgument, StringComparison.InvariantCultureIgnoreCase))
                            {
                                System.Web.UI.WebControls.Image img = new System.Web.UI.WebControls.Image();

                                img.ImageUrl = "~/Images/" + ViewState[FixInfo.SortDirection].ToString() + ".gif";
                                tc.Controls.Add(img);
                            }
                    }
                    catch
                    {
                    }

                }

            }
        }
    }

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

thawait.himanshu

Technical Lead
www.igatepatni.com
United States United States

Member

Himanshu Thawait is from Pune INDIA, He is Currently Working with iGatePatni Americas Inc., As a Tech Lead
 
Himanshu has more than 8+ yrs of experience in the IT industry working on Microsoft Technologies. He is involved in various project activities like System Architecture, Design, and Development. Technical experience most specifically ASP.NET, WCF and Webservices, Biztalk 2006, Design Pattern , C# and .NET framework
He has strong knowledge of Enterprise Business Application Domain

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralMy vote of 5 PinmemberCS140118:18 11 Mar '12  
Questiondisplay mysqldata on gridview Pinmembersmp 23422:19 29 Feb '12  
QuestionMissing functions PinmemberPaul M Cohen9:25 7 Feb '12  
AnswerRe: Missing functions Pinmemberthawait.himanshu5:47 8 Feb '12  
GeneralRe: Missing functions PinmemberPaul M Cohen9:04 8 Feb '12  
GeneralRe: Missing functions Pinmemberthawait.himanshu11:05 8 Feb '12  
GeneralRe: Missing functions PinmemberPaul M Cohen16:52 8 Feb '12  
SuggestionExt.net PinmemberEmad Mokhtar12:07 1 Feb '12  
GeneralRe: Ext.net PinmemberJason Vogel16:37 1 Feb '12  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web01 | 2.5.120517.1 | Last Updated 31 Jan 2012
Article Copyright 2012 by thawait.himanshu
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid