Skip to main content

ASP.NET Gridview paging in List datasource

In a grid view if the data-source is used a list and the grid view is bind with the class attribute then we can also use paging on the grid view.

consider the gridview image:

the aspx:


 <asp:GridView ID="productGridView" runat="server" Width="700px" CellPadding="3" CellSpacing="1"  
           AutoGenerateColumns="False" Height="125px" ForeColor="#333333" AllowPaging="True"  
           GridLines="None"   
           OnSelectedIndexChanged="productGridView_SelectedIndexChanged" onpageindexchanging="productGridView_PageIndexChanging"   
           >  
           <AlternatingRowStyle BackColor="#A99B17" />  
           <Columns>  
             <asp:BoundField DataField="ProductId" HeaderText="Id" />  
             <asp:BoundField DataField="ProductCode" HeaderText="Item Code" ItemStyle-HorizontalAlign="Center" />  
             <asp:BoundField DataField="ProductName" HeaderText=" Product Name" />  
             <asp:BoundField DataField="ProductDescription" HeaderText="Description" />  
             <asp:BoundField DataField="ProductPrice" HeaderText="Price" ItemStyle-HorizontalAlign="Right" />  
             <asp:BoundField DataField="ProductQty" HeaderText="Qty (in SKU)" ItemStyle-HorizontalAlign="Right" />  
             <asp:BoundField DataField="ProductUnit" HeaderText="SKU Name" />  
             <asp:BoundField DataField="ProductVersion" HeaderText="Version" ItemStyle-HorizontalAlign="Center" />  
              <asp:BoundField DataField="ProductLine" HeaderText="Product Line" ItemStyle-HorizontalAlign="Center" />  
             <asp:CommandField ShowSelectButton="True" />  
           </Columns>  
           <EditRowStyle BackColor="#7C6F57" />  
           <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />  
           <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />  
           <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />  
           <RowStyle BackColor="#E3EAEB" />  
           <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />  
           <SortedAscendingCellStyle BackColor="#F8FAFA" />  
           <SortedAscendingHeaderStyle BackColor="#246B61" />  
           <SortedDescendingCellStyle BackColor="#D4DFE1" />  
           <SortedDescendingHeaderStyle BackColor="#15524A" />  
         </asp:GridView>  


Page index changing event :





     protected void productGridView_PageIndexChanging(object sender, System.Web.UI.WebControls.GridViewPageEventArgs e)  
     {  
       LoadProductDataGrid();  
       productGridView.PageIndex = e.NewPageIndex;  
       productGridView.DataBind();  
     }  
  private void LoadProductDataGrid()  
     {  
       productGridView.DataSource = _productManagerObj.GetAllProductInfo();  
       productGridView.DataBind();  
     }  
 // From Manager Class  
  internal List<Product> GetAllProductInfo()  
     {  
       return _productGatewayObj.GetAllProductInfo();  
     }  
 // In Gateway class  
 internal List<Product> GetAllProductInfo()  
     {  
      MeghnaGroupDataClassesDataContext  _meghnaGroupData = new MeghnaGroupDataClassesDataContext();  
       List<Product> products = new List<Product>();  
       foreach (var product in (from j in _meghnaGroupData.AD_PRODUCTs   
                    select j ).Distinct())  
       {  
         Product productObj = new Product();  
         productObj.ProductId = (int) product.ProductId;  
         productObj.ProductCode = product.Code;  
         productObj.ProductName = product.Name;  
         productObj.ProductDescription = product.Description;  
         productObj.ProductPrice = (decimal) product.Price;  
         productObj.ProductVersion = product.versionno;  
         productObj.ProductQty = (int) product.TotalQuantity;  
         productObj.ProductUnit = product.Unit;  
         productObj.ProductLine = product.TypeName;  
         products.Add(productObj);  
       }  
       return products;  
     }  

Comments

Popular posts from this blog

C# run powershell script as administrator

Recently I was fetching a problem that I need to run a PowerShell script that will change TFS user Display name and SID. I was trying to run that script from C# that was not working due to TFS security update and TLS certificate. Using this code block I resolve the Issue. var newProcessInfo = new System.Diagnostics.ProcessStartInfo(); newProcessInfo.FileName = @"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe"; newProcessInfo.Verb = "runas"; // Define Run as administrator newProcessInfo.Arguments = script; //Define your powershell script newProcessInfo.UseShellExecute = false; newProcessInfo.RedirectStandardOutput = true; // This will enable to read Powershell run output newProcessInfo.RedirectStandardError = true; Process proces = System.Diagnostics.Process.Start(newProcessInfo); proces.WaitForExit(); // I want to read the output string from powershell window StringBuilder output = new StringBuilder(); output.Append("Started"); while (!proces.St

mvc razor textboxfor change event change another textboxfor value

Based on value of Weight, Rate , CNF & AWB it will change the value of Freight , TTLCNF anfd TTLFright . Freight= Weight*Rate; TTLCNF  = Weight*CNF; TTLFright=  Freight+ TTLCNF  + AWB; @Html.TextBoxFor(model => model.Weight, new { onChange="return GetWight(this);"}) @Html.TextBoxFor(model => model.Rate, new { onChange="return GetWight(this);"})/Kg @Html.TextBoxFor(model => model.Freight, new {disabled = "disabled" , @readonly = "readonly" ,onChange="return GetTTLFright(this);"}) @Html.TextBoxFor(model => model.CNFPK, new { onChange="return GetCNFPK(this);"}) @Html.TextBoxFor(model => model.TTLCNF, new {disabled = "disabled" , @readonly = "readonly",onChange="return GetTTLFright(this);" }) @Html.TextBoxFor(model => model.AWB, new { onChange="return GetTTLFright(this);"}) and script <script> function GetW

ASP.NET MVC razor SAP Crystal report

Crete a new project: Add a aspx Master Page Create a new folder Reports and 2 sub folder crystal & crystalviewer Now add a web form page in crystalviewer  folder. Add the master page namespace in your web form page. MasterPageFile ="~/Views/Shared/ReportSite.Master" Replace your web form by this code < asp : Content ID ="Content1" ContentPlaceHolderID ="ContentPlaceHolder1" runat ="server">      </ asp : Content > Now go to design mode of your web form drag & drop the crystal report viewer in your web form. After that your page will be look look like this. Replace the code: < CR : CrystalReportViewer ID ="EmployeeList" runat ="server"   HasCrystalLogo ="False"     AutoDataBind ="True"   Height ="50px"   EnableParameterPrompt ="false" EnableDatabaseLogonPrompt