Verify the data in both the tables. Check all the rows in Sub Category table has CatId. If there any one row missing CatId then this error occurs.
The solutions is to set constraint in DataRelation class to false
dst.Relations.Add("Children",
dst.Tables["tbl_productcatagory"].Columns["catid"],
dst.Tables["tbl_productsubcatagory"].Columns["catid"], false);
By default, when you create a relationship, it enforces foreign key constraints, by setting to false, you are telling it that you dont want to enforce the relationship.