Имам разпространен лист със стойности, които бих искалискам да попълните в падащите полета в Windows формуляри с помощта на C #. Някои от тези стойности съдържат 100 "записи и не искам да ги попълвам ръчно или да ги вгражда в изходния код.
Също така трябва да мога да добавя и премахва стойности от полето за комбота след като бъдат въведени, затова вярвам, че това изключва обвързването му с набор от данни.
Как би направил това?
Отговори:
0 за отговор № 1Възнамерявате да въведете много стойности в комбо-кутия? Ако получите Excel стойности в DataTable, след това въведете стойност използвайки foreach цикъл.
comboboxName.Items.Clear();
foreach(DataRow value in DataTableName.rows)
{
comboboxName.Items.Add(value["ColumnName"]);
}
comboboxName.selectedIndex = 0;
Ако се борите с Excel импортирате, след това добавете коментар към мен отново.
0 за отговор № 2
Можете да използвате библиотеката на Excel от тази връзка http://code.google.com/p/excellibrary/, Всъщност има пример за код, предоставен на тази страница, показва как да четете от Excel файл.
using ExcelLibrary.SpreadSheet;
// open xls file
Workbook book = Workbook.Load(file);
Worksheet sheet = book.Worksheets[0];
// iterate with a proper condition, at the moment it will iterate with a given length!
for (int i = 0; i < length; i++)
{
comboBox.Items.Add(sheet.Cells[i,column_index].Value);
}
Просто повторете в колоната си за Excel и добавете елементите в полето за комбо. Добре е да добавите 100, но няма да е много ясно.
Ако не искате да твърдите кода на елементите си и да ги използвате като външен източник, препоръчвам да използвате XML формат. По-лесно е да се анализира, много по-ясна и лека.