У меня есть два поля со списком, в первом из которых есть категории, которые я заполняю из SQL базы данных сервера. Хитрость заключается в том, что во втором поле со списком отображаются только элементы из БД, связанные с выбранной категорией из первого поля со списком.
Здесь мой код SQL:
IF @ActionType = 'FetchDataCBOCity'
BEGIN
SELECT DISTINCT ID_City, Name_City
FROM City
END
IF @ActionType = 'FetchDataCBOState'
BEGIN
SELECT ID_State, Name_State
FROM State
END
Вот мой C# код:
ConnectionTCP.CboFetchData(new List<string> { "FetchDataCBOCity", spName }, "ID_City", "Name_City", comboBox1);
ConnectionTCP.CboFetchData(new List<string> { "FetchDataCBOState", spName }, "ID_State", "Name_State", comboBox2);
// CBO Fetch Data in db
public static void CboFetchData( List<string> dataList, string valueMember, string displayMember, ComboBox cbo )
{
try
{
string phrase = "CBOFETCHDATA" + ">";
foreach (var data in dataList)
{
phrase += data + ">";
}
byte[] message = Encoding.ASCII.GetBytes(phrase.TrimEnd('>'));
stream.Write(message, 0, message.Length);
var buffer = getData(tcpClient);
cbo.DataSource = DataFormatter.DeserializeData(buffer);
cbo.ValueMember = valueMember;
cbo.DisplayMember = displayMember;
}
catch (Exception e)
{
MessageBox.Show("Error: " + e.Message, Client.nameApp, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
Спасибо