I haven't worked with "C#" in a while, but researching how to hide a specific renderer cell, I came across the following link.
"https://stackoverflow.com/questions/35057446/python3-gtk3-how-to-hide-a-cell-of-a-row"
The information to build on here is as follows:
- Include a hidden column in your tree store that can hold a boolean value.
- Add a "visibility" attribute to the progress bar cell that references the value that will be placed within hidden column cell for each row.
- For those cells that should display the progress bar, set the associated hidden column cell to a value of "TRUE".
- For those cells that should not display the progress bar, set the associated hidden column cell to a value of "FALSE".
Using this information, I built a sample program that had a tree view with one of the columns being a progress bar. I won't list out the whole program here, but I will paste in some of the key bits. I realize this will be C code, but one should be able to interpret what the equivalent code would be in C#.
First off, I define the columns that I want in the tree view (two viewable columns, and a hidden column).
enum
{
COLUMN = 0,
PROG = 1,
VIS = 2,
N_COLS /* Used as a terminator/counter */
}
Then, I create a view and model. Following is a snippet of the code to set up the cell renderers for the two visible columns.
renderer = gtk_cell_renderer_text_new();
renderer2 = gtk_cell_renderer_progress_new();
gtk_tree_view_column_set_title(col, "Programming Languages");
gtk_tree_view_append_column(GTK_TREE_VIEW(view), col);
gtk_tree_view_column_pack_start(col, renderer, TRUE); /* This will be visible on the tree view */
gtk_tree_view_column_add_attribute(col, renderer, "text", COLUMN);
gtk_tree_view_column_set_title(col2, "Percentage");
gtk_tree_view_append_column(GTK_TREE_VIEW(view), col2);
gtk_tree_view_column_pack_start(col2, renderer2, TRUE); /* This will be visible on the tree view */
gtk_tree_view_column_add_attribute(col2, renderer2, "value", PROG);
gtk_tree_view_column_add_attribute(col2, renderer2, "visible", VIS);
The last line of code above is the additional bit I think you are looking for to control the visibility of the progress bar cell..
Next, I define that the tree view will have three columns (the last one will be hidden).
treestore = gtk_tree_store_new(NUM_COLS, G_TYPE_STRING, G_TYPE_INT, G_TYPE_BOOLEAN);
gtk_tree_store_append(treestore, &toplevel, NULL);
gtk_tree_store_set(treestore, &toplevel, COLUMN, "Scripting Languages", VIS, FALSE, -1);
gtk_tree_store_append(treestore, &child, &toplevel);
gtk_tree_store_set(treestore, &child, COLUMN, "Python", PROG, 62, VIS, TRUE, -1);
/* And so forth for other rows */
The result of this produces a tree view with conditioned display of the progress bar cell.

As noted, I built this example in C, but the method of adding a visibility attribute to the progress bar cell and making its visibility dependent upon the value in a hidden boolean cell/column should be easily interpreted to C#.