Click here to Skip to main content
15,896,201 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Dear Friends,

Here i want to Replace Zero values to Null Vlaues from Dataset.Actually My Problem is iam Inserting this dataset values to aspx pie chart.While iam binding the dataset to that Chart that Zero values also Displaying in that Nodes.So I dont want to show that Zero values in that Chart.So i want to Replace the Zero values to Null and bind the dataset to aspx chart.so if any information please share with me.


Regards,

AnilKumar.D
Posted
Comments
ZurdoDev 26-Jul-12 16:53pm    
Just do it in your SQL. CASE WHEN Field1 = 0 THEN NULL ELSE Field1 END AS Field1
Anil Honey 206 26-Jul-12 23:42pm    
SELECT ntblDesignation.DisigantionName, ISNULL(ISNULL(SUM(CASE WHEN tblConnectivity.Networkid = '1' THEN tblConnectivity.Networkid END), 0), 0) AS YES,

ISNULL(ISNULL(SUM(CASE WHEN tblConnectivity.Networkid = '2' THEN tblConnectivity.Networkid END), 0), 0) AS NO, ISNULL(CONVERT(Decimal(10, 2),

CONVERT(Decimal(10, 2), ISNULL(ISNULL(SUM(CASE WHEN tblConnectivity.Networkid = '1' THEN tblConnectivity.Networkid END), 0), 0)) / CONVERT(Decimal(10, 2),

NULLIF

((SELECT ISNULL(ISNULL(SUM(CASE WHEN tblConnectivity_1.Networkid = '1' THEN tblConnectivity_1.Networkid END), 0), 0) AS YES1

FROM tblConnectivity AS tblConnectivity_1 INNER JOIN

tblInformation AS tblInformation_1 ON tblConnectivity_1.intInformationID = tblInformation_1.intInformationID INNER JOIN

ntblDistrict ON tblConnectivity_1.intDistrictid = ntblDistrict.intDistrictid AND tblInformation_1.DistrictID = ntblDistrict.intDistrictid

WHERE (ntblDistrict.intDistrictid = @DistrictID)), 0))) * 100, 0) AS YESPercent, ISNULL(CONVERT(Decimal(10, 2), CONVERT(Decimal(10, 2),

ISNULL(ISNULL(SUM(CASE WHEN tblConnectivity.Networkid = '2' THEN tblConnectivity.Networkid END), 0), 0)) / CONVERT(Decimal(10, 2), NULLIF

((SELECT ISNULL(ISNULL(SUM(CASE WHEN tblConnectivity_1.Networkid = '2' THEN tblConnectivity_1.Networkid END), 0), 0) AS YES1

FROM tblConnectivity AS tblConnectivity_1 INNER JOIN

tblInformation AS tblInformation_1 ON tblConnectivity_1.intInformationID = tblInformation_1.intInformationID INNER JOIN

ntblDistrict AS ntblDistrict_2 ON tblConnectivity_1.intDistrictid = ntblDistrict_2.intDistrictid AND

tblInformation_1.DistrictID = ntblDistrict_2.intDistrictid

WHERE (ntblDistrict_2.intDistrictid = @DistrictID)), 0))) * 100, 0) AS NoPercent

FROM tblConnectivity INNER JOIN

ntblDistrict AS ntblDistrict_1 ON tblConnectivity.intDistrictid = ntblDistrict_1.intDistrictid INNER JOIN

tblInformation ON tblConnectivity.intInformationID = tblInformation.intInformationID INNER JOIN

ntblDesignation ON tblInformation.intDesignation = ntblDesignation.intDesiginationID

WHERE (ntblDistrict_1.intDistrictid = @DistrictID)

GROUP BY ntblDesignation.DisigantionName

This is My Query Where i should use that Condiction

Hi,

Construct a for loop to iterate the rows in the datatable/dataview and check if it having 0 in the specific column if so assign DBNull to it.

Regards
Menaka
 
Share this answer
 
C#
foreach (DataRow dr in ds.Table[0].Rows)
{
if(dr["ColumnName"]==0)
{
dr["ColumnName"] = null;
}
}
 
Share this answer
 
try this:
assuming your datatable is dt
C#
dt=(dt.AsEnumerable().Select(delegate(DataRow r)
{

    DataRow nr = dt.NewRow();

    foreach (DataColumn item in dt.Columns)

    {

        nr.SetField(item.ColumnName, r[item.ColumnName].ToString() =="0"  ? null : r[item.ColumnName]);

    }

    return nr;

})).CopyToDataTable();
 
Share this answer
 
v3

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



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900