Wednesday, May 12, 2010

How to Filter Data in gridview Depending upon selection of dropdown box

I have three drop down box like ProjName,CustName and SOOwner
step 1: First Check condition for All three Drop Down

tempdt = (DataTable) ViewState["DataTable"]; // tempdt is datatable
finaldt = tempdt.Clone(); // finaldt is datatable
string ProjName = null;
string CustName = null;
string SOOwner = null;
ProjName = ddlProjName.SelectedValue;
CustName = ddlCustName.SelectedValue;
SOOwner = ddlSOOwner.SelectedValue;
if (ProjName != "" && CustName != "" && SOOwner != "")
{
string query = "ProjectName='" + ProjName + "'and SO_Owner='" + SOOwner + "' and CustomerName='" + CustName + "'";
DataRow[] row = tempdt.Select(query);
for (int i = 0; i <= row.GetUpperBound(0); i++)
{
finaldt.ImportRow(row[i]);
}
}
else if (ProjName != "" && CustName != "")
{
string query = "ProjectName='" + ProjName + "'and CustomerName='" + CustName + "'";
DataRow[] row = tempdt.Select(query);
for (int i = 0; i <= row.GetUpperBound(0); i++)
{
finaldt.ImportRow(row[i]);
}
}
else if (CustName != "" && SOOwner != "")
{
string query = "CustomerName='" + CustName + "'and SO_Owner='" + SOOwner + "'";
DataRow[] row = tempdt.Select(query);
for (int i = 0; i <= row.GetUpperBound(0); i++)
{
finaldt.ImportRow(row[i]);
}
}
else if (ProjName != "" && SOOwner != "")
{
string query = "ProjectName='" + ProjName + "'and SO_Owner='" + SOOwner + "'";
DataRow[] row = tempdt.Select(query);
for (int i = 0; i <= row.GetUpperBound(0); i++)
{
finaldt.ImportRow(row[i]);
}
}
else if (ProjName != "")
{
string query = "ProjectName='" + ProjName + "'";
DataRow[] row = tempdt.Select(query);
for (int i = 0; i <= row.GetUpperBound(0); i++)
{
finaldt.ImportRow(row[i]);
}
}
else if (CustName != "")
{
string query = "CustomerName='" + CustName + "'";
DataRow[] row = tempdt.Select(query);
for (int i = 0; i <= row.GetUpperBound(0); i++)
{
finaldt.ImportRow(row[i]);
}
}
else if (SOOwner != "")
{
string query = "SO_Owner='" + SOOwner + "'";
DataRow[] row = tempdt.Select(query);
for (int i = 0; i <= row.GetUpperBound(0); i++)
{
finaldt.ImportRow(row[i]);
}
}
this.ViewState["filterDt"] = finaldt;
gv1.Visible = true;
//gv1.DataSource = finaldt;
gv1.DataSource = finaldt;
gv1.DataBind();
}

No comments:

Post a Comment