Подскажите пожалуйста, как (c# winforms vs2010) обратиться (чтобы выгрузить в word) к привязанным данным "Value_1 и Value_2"? Т.е. нужно выгрузить в word данные для каждого Person. Пример начала кода ниже:
public class Person
{
public string Name { get; set; }
public string Value_1 { get; set; }
public string Value_2 { get; set; }
}
private void btn_load_Click(object sender, EventArgs e)
{
List<Person> people = new List<Person>();
foreach (var item in CheckedListBox1.Items)
{
Person p = new Person { Name = item.ToString(),
Value_1 = Label1.Text,
Value_2 = Label2.Text,
};
people.Add(p);
}
//Привязываем коллекцию к компоненту:
var listBox = ((ListBox)CheckedListBox1);
listBox.DataSource = people;
listBox.DisplayMember = "Name";
//Делаем привязку к коллекции:
Label1.DataBindings.Add("Text", people, "Value_1");
Label2.DataBindings.Add("Text", people, "Value_2");
}
//Выгрузить в word:
private void btn2_Click(object sender, EventArgs e)
{
Word._Application oWord = new Word.Application();
object oMissing = System.Reflection.Missing.Value;
object oEndOfDoc = "\\endofdoc";
object oTemplate = @"c:\a3.dot";
oWord.Visible = true;
Word._Document oDoc = oWord.Documents.Add(ref oTemplate, ref oMissing, ref oMissing, ref oMissing);
//заполнить таблицу:
for (int personi = 0; personi < CheckedListBox1.Items.Count; ++personi)
{
int personi1 = personi + 1;
oDoc.Tables[personi1].Cell(1, 2).Range.Text = Value_1.Text + "\r\n" + Value_2.Text; -??? (или oDoc.Tables[personi1].Cell(1, 2).Range.Text = p.Value_1 + "\r\n" + p.Value_2;)
}
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей