mówisz ze tablica elementy ma tylko dwa rekordy, czyli wygląda to mniej więcej tak
1 - Rura
2 - Otwór
dorzuć do tablicy średnic pole typ, określające czego tyczy się dana średnica, dla średnic rur przypisz temu polu wartość 1, dla średnic otworów - przypisz wartość 2
dalej, dostaw na formatkę element DataView - często jest on niewidoczny, wiec zrób na ToolBoxie "Choose Items..." i poszukaj go w spisie komponentów, jak już go będziesz miał, to musisz trochę rzeczy przestawić.... mianowicie:
dataview które postawiłeś na formatce, ma właściwość "Table" - musisz je ustawić na tabele trzecia - czyli tabele do średnic, następnie w obiekcie datagrid, musisz zmienic komórkę z comboboxem od średnic, tak, aby nie wskazywała bezpośrednio na tabele 3, która zawiera średnice, ale na to nowe dataview...
ostatnim krokiem jest podpięcie się pod CellClick obiektu datagridview, wpisz w nim taki kod
if (e.RowIndex > 0)
{
if (e.ColumnIndex > 0)
{
DataView1.RowFilter="typ="+dataGridView1.Rows[e.RowIndex].Cells["nazwa_combo_boxa_z_elementami"].Value.ToString();
}
}
kod ten oczywiście musisz przeczytać i zrozumieć, bo inaczej nie zadziała :)
idea jest taka, ze koleś jak kliknie na jakiejkolwiek komórce (możesz dopisac if'a który sprawdzi czy kliknięta komórka jest komórka z średnicami), to wykona się kod, ktory sprawdzi wartość w comboboxie z elementami, następnie przefiltruje w dataview elementy na takie które zgadzają się (wartość typ = id_elementu) i przefiltrowane dane zapoda do drugiego comboboxa - z średnicami, który wyświetli już przefiltrowane dane
zaznaczam ze ten powyższy kod, jak i cały algorytm nie jest przetestowany i może nie działać...
a tak na przyszłość, pobaw się z obiektami dostępnymi w VS, bo tak na prawdę to wychodzi nie znajomość komponentów, gdybyś wiedział że jest takie coś jak DataView, które posiada RowFilter, to byś sobie poradził...
powodzenia