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

WPF datagrid cell textbox change event

Entity/Class: public class FeesDetails : INotifyPropertyChanged { public int Id { get; set; } public string FeesName { get; set;} public string FeesDetailsName { get; set; } public int? PaidAmount { get; set; } public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(System.String info) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(info)); } } public int feesAmount { get; set; } public int FeesAmount { get { return this.feesAmount; } set { if (value != this.feesAmount) { this.feesAmount = value; NotifyPropertyChanged("FeesAmount"); } } } } XAML: <DataGrid AutoGenerateColumns="False" Height="21...

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...

mvvm double click event in listview

If you want to get the double click event on a listview item you can try with this code; <ListView Grid.Row="0" Grid.RowSpan="3" Grid.Column="0" Width="250" Height="200" HorizontalAlignment="Stretch" VerticalAlignment="Top" AlternationCount="2" BorderBrush="#FFA8CC7B" ItemContainerStyle="{StaticResource alternatingStyle}" ItemsSource="{Binding FromPayerNameList}" SelectedItem="{Binding SelectedFromPayer, Mode=TwoWay}"> <ListView.ItemTemplate> <DataTemplate> <TextBlock Width="{Binding Path=ActualWidth, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" Text=...