1 & 3 - The GridFilterBar is only supported for the GridDataBoundGrid using a DataTable as its DataSource. The reason for this is that the filtering is actually done using a DataView.RowFilter property.
2) For any combobox cell (including a combobox in the filter cell), you can dynamically adjust the droplist by handling CurrentCellShowingDropDown.
//assume dataTable1 is the full datatable that is the datasource for the combobox column....
private void gridDataBoundGrid1_CurrentCellShowingDropDown(object sender, GridCurrentCellShowingDropDownEventArgs e)
{
GridCurrentCell cc = this.gridDataBoundGrid.CurrentCell;
if(cc.ColIndex == 2)
//column that need to be filtered...
{
GridComboBoxCellRenderer cr = cc.Renderer as GridComboBoxCellRenderer;
if(cr != null)
{
DataView dv = new DataView(dataTable1);
dv.RowFilter = string.Format("[MyCol1] = ''{0}''", this.gridDataBoundGrid1[cc.RowIndex, 1].Text);
((GridComboBoxListBoxPart)cr.ListBoxPart).DataSource = dv;
}
}
}