I have datatable as Item source for DataGrid, this datatable has lots of columns. Is it possible to display few columns instead all of them without creating a new table?
Yes, Yes very much. If your Table structure and Column Name remains constant then in Datagrid XAML set AutoGenerateColums = False and manually create all columns.
and then in codebehind simple provide Source like
mydg.ItemSource = Data.DefaultView;
Now when your DataTable contains column FirstColumnName and SecondColumnName they will be databound to your Datagrid.