Как вручную привязать столбцы datagridview к значениям в универсальном списке C#?
Я работаю над приложением winform, используемый язык - C # и использует sqlserver в качестве бэкэнда. Пользовательский интерфейс моего приложения имеет представление datagrid, которое отображает значения, я разработал и реализовал приложение, используя бизнес-объект, бизнес-уровень, уровень данных, по щелчку Доступ к событию кнопки в значениях пользовательского интерфейса в базе данных осуществляется с помощью запроса выбора, результат передается по уровням, и, наконец, он доступен в пользовательском интерфейсе в виде списка
Что я уже пробовал:
public class ContactPerson { List<contactperson> listCP = new List<contactperson>(); private string id; public string Id { get { return id; } set { id = value; } } private string firstName; public string FirstName { get { return firstName; } set { firstName = value; } } private string lastName; public string LastName { get { return lastName; } set { lastName = value; } } private string mobileNo; public string MobileNo { get { return mobileNo; } set { mobileNo = value; } } private string altMobNo1; public string AltMobNo1 { get { return altMobNo1; } set { altMobNo1 = value; } } private string altMobNo2; public string AltMobNo2 { get { return altMobNo2; } set { altMobNo2 = value; } } private string emailid; public string Emailid { get { return emailid; } set { emailid = value; } } private string offNo; public string OffNo { get { return offNo; } set { offNo = value; } } }
private void btnShow_Click(object sender, EventArgs e) { BULContact obj = new BULContact(); //// ////Autobinding gridview (works) //// //dgvDisplay.AutoGenerateColumns =true; //var listCP = obj.DisplayBUContacts(); //dgvDisplay.DataSource = listCP; //This is the piece of code i want to use, which needs some changes..Please guide dgvDisplay.AutoGenerateColumns = false; var listCP = obj.DisplayBUContacts(); dgvDisplay.DataSource = listCP; dgvDisplay.Columns.Add("FirstNamee", "First Name"); dgvDisplay.Columns.Add("LastNamee", "Last Name"); dgvDisplay.Columns.Add("MobiNoDef", "Mob NoDef"); dgvDisplay.Columns.Add("AltMobiNo1", "AltMob No1"); dgvDisplay.Columns.Add("AltMobiNo2", "AltMob No2"); dgvDisplay.Columns.Add("OfficeeNo", "Office No"); dgvDisplay.Columns.Add("EmaillID", "Email ID"); foreach (var item in listCP) { dgvDisplay.Columns["FirstNamee"].DataPropertyName = item.FirstName; dgvDisplay.Columns["LastNamee"].DataPropertyName = item.LastName; dgvDisplay.Columns["MobiNoDef"].DataPropertyName = item.MobileNo; dgvDisplay.Columns["AltMobiNo1"].DataPropertyName = item.AltMobNo1; dgvDisplay.Columns["AltMobiNo2"].DataPropertyName = item.AltMobNo2; dgvDisplay.Columns["OfficeeNo"].DataPropertyName = item.OffNo; dgvDisplay.Columns["EmaillID"].DataPropertyName = item.Emailid; } }
Graeme_Grant
Пожалуйста, поделитесь структурой / кодом общего списка в BULContact
.
rajkiran.07
значения присутствуют в списке, проблема заключается в ручной привязке его к datagridview.
Контактное лицо публичного класса
{
List< contactperson> listCP = новый список & lt;contactperson>();
идентификатор частной строки;
открытый идентификатор строки
{
get { return id; }
set { id = значение; }
}
частная строку "имя";
общественного строка имя
{
get { return firstName; }
набор { имя = значение; }
}
частная строку "фамилия";
общественного строка фамилия
{
get { возвращение "фамилия"; }
set { фамилия = значение; }
}
частная строка mobileNo;
публичная строка MobileNo
{
get { return mobileNo; }
set { mobileNo = значение; }
}
частная строка altMobNo1;
общественного строка AltMobNo1
{
get { return altMobNo1; }
set { altMobNo1 = значение; }
}
частная строка altMobNo2;
общественного строка AltMobNo2
{
get { return altMobNo2; }
set { altMobNo2 = значение; }
}
частная строка emailid;
публичная строка Emailid
{
get { return emailid; }
set { emailid = значение; }
}
частная строка offNo;
общественного строка OffNo
{
get { return offNo; }
set { offNo = значение; }
}
Karthik_Mahalingam
в чем проблема автоматической привязки?
rajkiran.07
автоматическая привязка работает отлично. я пытаюсь понять, как это можно сделать вручную.
Karthik_Mahalingam
проверьте мое решение.
rajkiran.07
спасибо, удаление foreach сделало свою работу..
Karthik_Mahalingam
Добро пожаловать
Graeme_Grant
Посмотрите на ссылку, которую я вам предоставил.. Он подробно описывает то, что вы хотите.
rajkiran.07
спасибо.