views:

1351

answers:

4

I have a DataGrid that is using a DataReader as its datasource. I want to hide the first column of the datagrid. I am using the .net compact framework 3.5. I can find examples for windows forms but the api is changed enough that they don't work.

A: 

In any event, before you assign the datasource, hide the columns you do not want to show:

ds.Tables("dtRecords").Columns("ID").ColumnMapping = MappingType.Hidden

Datagrid1.datasource = ds.Tables("dtRecords")
DaDa
This would work but as I mentioned I am using a DataReader and not a DataTable
runxc1 Bret Ferrier
this doesn't work for me. any idea why?
Swoosh
A: 

I have just solved this problem using DataGridTableStyle and GridColumnStyles as Henk says. But, I have, also, assigned the Width property, in the GridColumnStyle, to -1.

And, it works!!

+5  A: 

You can set the column style width to 0 or -1.

DataGridTableStyle ts = new DataGridTableStyle(); ts.MappingName = "Order";

        // Order date column style
        DataGridColumnStyle cust_id = new DataGridTextBoxColumn();
        cust_id.MappingName = "cust_id";
        cust_id.HeaderText = "ID";
        //**************************************
        //Hide Customer ID
        cust_id.Width = -1;
        //**************************************
        ts.GridColumnStyles.Add(cust_id);

        // Shipping name column style
        DataGridColumnStyle cust_name = new DataGridTextBoxColumn();
        cust_name.MappingName = "cust_name";
        cust_name.HeaderText = "Customer";
        cust_name.Width = 500;
        ts.GridColumnStyles.Add(cust_name);

        GridView1.TableStyles.Add(ts);
RJ1516
A: 

thank you RJ1516