Предположим, у вас есть привязка List of Student к comboBox с Id в качестве ValueMember & amp; Назовите DisplayMember, затем On SelectedIndexChange используйте следующий код:
if (combobox.SelectedValue is IConvertible)
{
int id = Convert.ToInt32(combobox.SelectedValue);
string name = combobox.Text;
// Or
Student student = cmbCars.SelectedValue as Student;
int idd = student.Id;
string names = student.Name;
}
Это должно работать!
Вы можете сделать:
MemoryStream memoryStream = new MemoryStream();
TextWriter tw = new StreamWriter(memoryStream);
tw.WriteLine("ref\tACCOUNT\tbatch\tDEBIT\tCREDIT\tDesc");
Я также хотел бы предположить, что сейчас самое время попытаться отделить части вашего приложения, чтобы вы могли изменить его в будущем. Итак, TextWriter
- хорошая абстракция для потока, доступного для записи, но рассмотрите возможность абстрагирования вашего класса экспорта.
Например, теперь вы хотите сделать это следующим образом:
MemoryStream memoryStream = new MemoryStream();
TextWriter tw = new StreamWriter(memoryStream);
// tab-delimited export
IExporter exporter = new DelimiterExport(data, tw, "\t");
exporter.Export();
, чтобы вы могли легко изменить его к:
// csv file (stands for "comma separated value", but you should actually
// use a culture-specific list separator instead)
var separator = Thread.CurrentThread.CurrentCulture.TextInfo.ListSeparator;
IExporter exporter = new DelimiterExport(data, tw, separator);
или любой другой реализации:
// excel export
IExporter exporter = new ExcelExport(data, tw);
Предоставляя независимый от протокола интерфейс сейчас, вы упростите себе жизнь позже.