if i run the application page should be open like this
listview
cat1cat2cat3cat4
cat1cat2cat3cat4
then if i click the cat1 show data should be display like
pro_Name A Pro_Name B Pro_Name C
Quantity 5 Quantity 2 Quantity 8
Price $10 price $5 Price $12
pro_Name D Pro_Name E Pro_Name F
Quantity 5 Quantity 2 Quantity 8
Price $10 price $5 Price $12
pro_Name G Pro_Name H Pro_Name I
Quantity 5 Quantity 2 Quantity 8
Price $10 price $5 Price $12
Quantity 5 Quantity 2 Quantity 8
Price $10 price $5 Price $12
pro_Name D Pro_Name E Pro_Name F
Quantity 5 Quantity 2 Quantity 8
Price $10 price $5 Price $12
pro_Name G Pro_Name H Pro_Name I
Quantity 5 Quantity 2 Quantity 8
Price $10 price $5 Price $12
same thing apply will be diff cat...
Upendra Pratap ShahiPosted Jul 16, 2015, 12:31 AM
Upendra Pratap ShahiPosted Jul 20, 2015, 12:50 AM
anjali khanPosted Jul 18, 2015, 1:59 AM
Upendra Pratap ShahiPosted Jul 17, 2015, 5:48 AM
anjali khanPosted Jul 17, 2015, 4:03 AM
anjali khanPosted Jul 17, 2015, 2:01 AM
Upendra Pratap ShahiPosted Jul 16, 2015, 8:19 AM
anjali khanPosted Jul 16, 2015, 8:16 AM
anjali khanPosted Jul 16, 2015, 8:16 AM
Upendra Pratap ShahiPosted Jul 16, 2015, 1:20 AM
anjali khanPosted Jul 16, 2015, 1:18 AM
Upendra Pratap ShahiPosted Jul 16, 2015, 12:41 AM
Upendra Pratap ShahiPosted Jul 16, 2015, 12:40 AM
Design page-
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ListViewLinkBtn.aspx.cs" Inherits="ListViewLinkBtn" %>
DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>C# corner answer by Upendra Pratap Shahititle>
<style type="text/css">
.linkCat {
background-color:aqua;
}
style>
head>
<body>
<form id="form1" runat="server">
<div>
<h3>ListViewh3>
<%-- Linkbutton --%>
<asp:LinkButton ID="lnkCat1" CssClass="linkCat" runat="server" ClientIDMode="Static" Text="Cat1" OnClick="ENameLinkBtn_Click" CommandArgument="Cat1">asp:LinkButton>
<asp:LinkButton ID="lnkCat2" CssClass="linkCat" runat="server" ClientIDMode="Static" Text="Cat2" OnClick="ENameLinkBtn_Click" CommandArgument="Cat2">asp:LinkButton>
<asp:LinkButton ID="lnkCat3" CssClass="linkCat" runat="server" ClientIDMode="Static" Text="Cat3" OnClick="ENameLinkBtn_Click" CommandArgument="Cat3">asp:LinkButton>
<asp:LinkButton ID="lnkCat4" CssClass="linkCat" runat="server" ClientIDMode="Static" Text="Cat4" OnClick="ENameLinkBtn_Click" CommandArgument="Cat4">asp:LinkButton>
<asp:HiddenField ID="hdnText" runat="server" ClientIDMode="Static" Value="" />
<%-- end --%>
<asp:ListView ID="lvCustomers" runat="server" GroupPlaceholderID="groupPlaceHolder1"
ItemPlaceholderID="itemPlaceHolder1" OnPagePropertiesChanging="OnPagePropertiesChanging">
<LayoutTemplate>
<table border="1">
<tr>
<th>Product
th>
<th>Quantity
th>
<th>Price
th>
<th>Category
th>
tr>
<asp:PlaceHolder runat="server" ID="groupPlaceHolder1">asp:PlaceHolder>
<tr>
<td colspan="3">
<asp:DataPager ID="DataPager1" runat="server" PagedControlID="lvCustomers" PageSize="2">
<Fields>
<asp:NextPreviousPagerField ButtonType="Link" ShowFirstPageButton="false" ShowPreviousPageButton="true"
ShowNextPageButton="false" />
<asp:NumericPagerField ButtonType="Link" />
<asp:NextPreviousPagerField ButtonType="Link" ShowNextPageButton="true" ShowLastPageButton="false" ShowPreviousPageButton="false" />
Fields>
asp:DataPager>
td>
tr>
table>
LayoutTemplate>
<GroupTemplate>
<tr>
<asp:PlaceHolder runat="server" ID="itemPlaceHolder1">asp:PlaceHolder>
tr>
GroupTemplate>
<ItemTemplate>
<td>
<%# Eval("Product_Name") %>
td>
<td>
<%# Eval("Quantity") %>
td>
<td>
<%# Eval("Price") %>
td>
<td>
<%# Eval("Category") %>
td>
ItemTemplate>
asp:ListView>
div>
form>
body>
html>
Code Behind page-
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class ListViewLinkBtn : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
BindListView("");
}
}
protected void BindListView(string sGroup)
{
//Creating a dataset
DataSet ds = new DataSet();
DataTable dt;
DataRow dr;
DataColumn pName;
DataColumn pQty;
DataColumn pPrice;
DataColumn pCategory;
//create an object of datatable
dt = new DataTable();
//creating column of datatable with datatype
pName = new DataColumn("Product_Name", Type.GetType("System.String"));
pQty = new DataColumn("Quantity", Type.GetType("System.Int32"));
pPrice = new DataColumn("Price", Type.GetType("System.Int32"));
pCategory = new DataColumn("Category", Type.GetType("System.String"));
//bind data table columns in datatable
dt.Columns.Add(pName);
dt.Columns.Add(pQty);
dt.Columns.Add(pPrice);
dt.Columns.Add(pCategory);
//creating data row and assiging the value to columns of datatable
dr = dt.NewRow();
dr["Product_Name"] = "Product 1";
dr["Quantity"] = 2;
dr["Price"] = 200;
dr["Category"] = "Cat1";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Product_Name"] = "Product 2";
dr["Quantity"] = 5;
dr["Price"] = 480;
dr["Category"] = "Cat2";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Product_Name"] = "Product 3";
dr["Quantity"] = 8;
dr["Price"] = 100;
dr["Category"] = "Cat1";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Product_Name"] = "Product 4";
dr["Quantity"] = 2;
dr["Price"] = 500;
dr["Category"] = "Cat2";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Product_Name"] = "Product 5";
dr["Quantity"] = 8;
dr["Price"] = 1050;
dr["Category"] = "Cat3";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Product_Name"] = "Product 6";
dr["Quantity"] = 2;
dr["Price"] = 5005;
dr["Category"] = "Cat3";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Product_Name"] = "Product 7";
dr["Quantity"] = 8;
dr["Price"] = 1000;
dr["Category"] = "Cat3";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Product_Name"] = "Product 8";
dr["Quantity"] = 2;
dr["Price"] = 5000;
dr["Category"] = "Cat3";
dt.Rows.Add(dr);
//Add datatable to the dataset
ds.Tables.Add(dt);
if (sGroup != "")
{
var dv = ds.Tables[0].DefaultView;
dv.RowFilter = "Category='" + sGroup + "'";
DataSet ds1 = new DataSet();
var newdt = dv.ToTable();
ds1.Tables.Add(newdt);
//bind data to data controls
lvCustomers.DataSource = ds1.Tables[0];
lvCustomers.DataBind();
}
else {
lvCustomers.DataSource = ds.Tables[0];
lvCustomers.DataBind();
}
}
//paging code
protected void OnPagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
{
(lvCustomers.FindControl("DataPager1") as DataPager).SetPageProperties(e.StartRowIndex, e.MaximumRows, false);
if (hdnText.Value != "")
{
string yourValue = hdnText.Value.ToString();
if (yourValue == "Cat4")
{
BindListView("");
}
else
{
this.BindListView(yourValue);
}
}
else
{
this.BindListView("");
}
}
protected void ENameLinkBtn_Click(object sender, EventArgs e)
{
LinkButton btn = (LinkButton)(sender);
string yourValue = btn.CommandArgument;
// do what you need here
if (yourValue == "Cat4")
{
hdnText.Value = yourValue;
BindListView("");
}
else
{
hdnText.Value = yourValue;
BindListView(yourValue);
}
}
}
anjali khanPosted Jul 15, 2015, 11:54 PM
thanks for the update..this is correct ans...
see we uses 3 category..if i click any cat so data is displaying...
now i want cat4 that if i click on that so hole data should be display...I dont want to refresh again...
Upendra Pratap ShahiPosted Jul 15, 2015, 7:32 AM
Hello anjali khan,
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ListViewLinkBtn.aspx.cs" Inherits="ListViewLinkBtn" %>
DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>title>
<style type="text/css">
.linkCat {
background-color:aqua;
}
style>
head>
<body>
<form id="form1" runat="server">
<div>
<h3>ListViewh3>
<%-- Linkbutton --%>
<asp:LinkButton ID="lnkCat1" CssClass="linkCat" runat="server" ClientIDMode="Static" Text="Cat1" OnClick="ENameLinkBtn_Click" CommandArgument="Cat1">asp:LinkButton>
<asp:LinkButton ID="lnkCat2" CssClass="linkCat" runat="server" ClientIDMode="Static" Text="Cat2" OnClick="ENameLinkBtn_Click" CommandArgument="Cat2">asp:LinkButton>
<asp:LinkButton ID="lnkCat3" CssClass="linkCat" runat="server" ClientIDMode="Static" Text="Cat3" OnClick="ENameLinkBtn_Click" CommandArgument="Cat3">asp:LinkButton>
<asp:HiddenField ID="hdnText" runat="server" ClientIDMode="Static" Value="" />
<%-- end --%>
<asp:ListView ID="lvCustomers" runat="server" GroupPlaceholderID="groupPlaceHolder1"
ItemPlaceholderID="itemPlaceHolder1" OnPagePropertiesChanging="OnPagePropertiesChanging">
<LayoutTemplate>
<table border="1">
<tr>
<th>Product
th>
<th>Quantity
th>
<th>Price
th>
<th>Category
th>
tr>
<asp:PlaceHolder runat="server" ID="groupPlaceHolder1">asp:PlaceHolder>
<tr>
<td colspan="3">
<asp:DataPager ID="DataPager1" runat="server" PagedControlID="lvCustomers" PageSize="2">
<Fields>
<asp:NextPreviousPagerField ButtonType="Link" ShowFirstPageButton="false" ShowPreviousPageButton="true"
ShowNextPageButton="false" />
<asp:NumericPagerField ButtonType="Link" />
<asp:NextPreviousPagerField ButtonType="Link" ShowNextPageButton="true" ShowLastPageButton="false" ShowPreviousPageButton="false" />
Fields>
asp:DataPager>
td>
tr>
table>
LayoutTemplate>
<GroupTemplate>
<tr>
<asp:PlaceHolder runat="server" ID="itemPlaceHolder1">asp:PlaceHolder>
tr>
GroupTemplate>
<ItemTemplate>
<td>
<%# Eval("Product_Name") %>
td>
<td>
<%# Eval("Quantity") %>
td>
<td>
<%# Eval("Price") %>
td>
<td>
<%# Eval("Category") %>
td>
ItemTemplate>
asp:ListView>
div>
form>
body>
html>
Code behind Page-
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class ListViewLinkBtn : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
BindListView("");
}
}
protected void BindListView(string sGroup)
{
//Creating a dataset
DataSet ds = new DataSet();
DataTable dt;
DataRow dr;
DataColumn pName;
DataColumn pQty;
DataColumn pPrice;
DataColumn pCategory;
//create an object of datatable
dt = new DataTable();
//creating column of datatable with datatype
pName = new DataColumn("Product_Name", Type.GetType("System.String"));
pQty = new DataColumn("Quantity", Type.GetType("System.Int32"));
pPrice = new DataColumn("Price", Type.GetType("System.Int32"));
pCategory = new DataColumn("Category", Type.GetType("System.String"));
//bind data table columns in datatable
dt.Columns.Add(pName);
dt.Columns.Add(pQty);
dt.Columns.Add(pPrice);
dt.Columns.Add(pCategory);
//creating data row and assiging the value to columns of datatable
dr = dt.NewRow();
dr["Product_Name"] = "Product 1";
dr["Quantity"] = 2;
dr["Price"] = 200;
dr["Category"] = "Cat1";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Product_Name"] = "Product 2";
dr["Quantity"] = 5;
dr["Price"] = 480;
dr["Category"] = "Cat2";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Product_Name"] = "Product 3";
dr["Quantity"] = 8;
dr["Price"] = 100;
dr["Category"] = "Cat1";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Product_Name"] = "Product 4";
dr["Quantity"] = 2;
dr["Price"] = 500;
dr["Category"] = "Cat2";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Product_Name"] = "Product 5";
dr["Quantity"] = 8;
dr["Price"] = 1050;
dr["Category"] = "Cat3";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Product_Name"] = "Product 6";
dr["Quantity"] = 2;
dr["Price"] = 5005;
dr["Category"] = "Cat3";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Product_Name"] = "Product 7";
dr["Quantity"] = 8;
dr["Price"] = 1000;
dr["Category"] = "Cat3";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Product_Name"] = "Product 8";
dr["Quantity"] = 2;
dr["Price"] = 5000;
dr["Category"] = "Cat3";
dt.Rows.Add(dr);
//Add datatable to the dataset
ds.Tables.Add(dt);
if (sGroup != "")
{
var dv = ds.Tables[0].DefaultView;
dv.RowFilter = "Category='" + sGroup + "'";
DataSet ds1 = new DataSet();
var newdt = dv.ToTable();
ds1.Tables.Add(newdt);
//bind data to data controls
lvCustomers.DataSource = ds1.Tables[0];
lvCustomers.DataBind();
}
else {
lvCustomers.DataSource = ds.Tables[0];
lvCustomers.DataBind();
}
}
//paging code
protected void OnPagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
{
(lvCustomers.FindControl("DataPager1") as DataPager).SetPageProperties(e.StartRowIndex, e.MaximumRows, false);
if (hdnText.Value != "")
{
string yourValue = hdnText.Value.ToString();
this.BindListView(yourValue);
}
else
{
this.BindListView("");
}
}
protected void ENameLinkBtn_Click(object sender, EventArgs e)
{
LinkButton btn = (LinkButton)(sender);
string yourValue = btn.CommandArgument;
// do what you need here
hdnText.Value = yourValue;
BindListView(yourValue);
}
}
anjali khanPosted Jul 15, 2015, 5:53 AM
Upendra Pratap ShahiPosted Jul 15, 2015, 5:39 AM
Design Page-
<%@ Page Language="C#" AutoEventWireup="true"CodeFile="ListViewGroup.aspx.cs" Inherits="ListViewGroup" %>
DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>title>
head>
<body>
<form id="form1" runat="server">
<div>
<h3>ListViewh3>
<asp:DropDownList ID="ddlGroup" runat="server" AutoPostBack="true"OnSelectedIndexChanged="ddlGroup_SelectedIndexChanged">
<asp:ListItem>Cat1asp:ListItem>
<asp:ListItem>Cat2asp:ListItem>
asp:DropDownList>
<asp:ListView ID="lvCustomers" runat="server"GroupPlaceholderID="groupPlaceHolder1"
ItemPlaceholderID="itemPlaceHolder1"OnPagePropertiesChanging="OnPagePropertiesChanging">
<LayoutTemplate>
<table border="1">
<tr>
<th>Product
th>
<th>Quantity
th>
<th>Price
th>
<th>Category
th>
tr>
<asp:PlaceHolder runat="server" ID="groupPlaceHolder1">asp:PlaceHolder>
<tr>
<td colspan="3">
<asp:DataPager ID="DataPager1" runat="server" PagedControlID="lvCustomers"PageSize="2">
<Fields>
<asp:NextPreviousPagerField ButtonType="Link" ShowFirstPageButton="false"ShowPreviousPageButton="true"
ShowNextPageButton="false" />
<asp:NumericPagerField ButtonType="Link" />
<asp:NextPreviousPagerField ButtonType="Link" ShowNextPageButton="true"ShowLastPageButton="false" ShowPreviousPageButton="false" />
Fields>
asp:DataPager>
td>
tr>
table>
LayoutTemplate>
<GroupTemplate>
<tr>
<asp:PlaceHolder runat="server" ID="itemPlaceHolder1">asp:PlaceHolder>
tr>
GroupTemplate>
<ItemTemplate>
<td>
<%# Eval("Product_Name") %>
td>
<td>
<%# Eval("Quantity") %>
td>
<td>
<%# Eval("Price") %>
td>
<td>
<%# Eval("Category") %>
td>
ItemTemplate>
asp:ListView>
div>
form>
body>
html>
Code Behind page-
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
public partial class ListViewGroup : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string val = ddlGroup.SelectedItem.Text.ToString();
if (val != "")
{
BindListView(val);
}
}
}
protected void BindListView(string sGroup)
{
//Creating a dataset
DataSet ds = new DataSet();
DataTable dt;
DataRow dr;
DataColumn pName;
DataColumn pQty;
DataColumn pPrice;
DataColumn pCategory;
//create an object of datatable
dt = new DataTable();
//creating column of datatable with datatype
pName = new DataColumn("Product_Name", Type.GetType("System.String"));
pQty = new DataColumn("Quantity", Type.GetType("System.Int32"));
pPrice = new DataColumn("Price", Type.GetType("System.Int32"));
pCategory = new DataColumn("Category", Type.GetType("System.String"));
//bind data table columns in datatable
dt.Columns.Add(pName);
dt.Columns.Add(pQty);
dt.Columns.Add(pPrice);
dt.Columns.Add(pCategory);
//creating data row and assiging the value to columns of datatable
dr = dt.NewRow();
dr["Product_Name"] = "Product 1";
dr["Quantity"] = 2;
dr["Price"] = 200;
dr["Category"] = "Cat1";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Product_Name"] = "Product 2";
dr["Quantity"] = 5;
dr["Price"] = 480;
dr["Category"] = "Cat2";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Product_Name"] = "Product 3";
dr["Quantity"] = 8;
dr["Price"] = 100;
dr["Category"] = "Cat1";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Product_Name"] = "Product 4";
dr["Quantity"] = 2;
dr["Price"] = 500;
dr["Category"] = "Cat2";
dt.Rows.Add(dr);
//Add datatable to the dataset
ds.Tables.Add(dt);
var dv = ds.Tables[0].DefaultView;
dv.RowFilter = "Category='" + sGroup + "'";
DataSet ds1 = new DataSet();
var newdt = dv.ToTable();
ds1.Tables.Add(newdt);
//bind data to data controls
lvCustomers.DataSource = ds1.Tables[0];
lvCustomers.DataBind();
}
//paging code
protected void OnPagePropertiesChanging(object sender,PagePropertiesChangingEventArgs e)
{
(lvCustomers.FindControl("DataPager1") asDataPager).SetPageProperties(e.StartRowIndex, e.MaximumRows, false);
this.BindListView(ddlGroup.SelectedItem.Text.ToString());
}
protected void ddlGroup_SelectedIndexChanged(object sender, EventArgs e)
{
string val1 = ddlGroup.SelectedItem.Text.ToString();
if (val1 != "")
{
BindListView(val1);
}
}
}