123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Linq;
- using System.Reflection;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace PTMedicalInsurance.Common
- {
- public static class DataGridViewExtensions
- {
- public static void Bind<T>(DataGridView dataGridView, IEnumerable<T> dataSource)
- {
- dataGridView.AutoGenerateColumns = false;
-
- dataGridView.Columns.Clear();
- var properties = typeof(T).GetProperties();
- foreach (var property in properties)
- {
-
- var displayNameAttribute = property.GetCustomAttribute<DisplayNameAttribute>();
- string columnName = displayNameAttribute != null ? displayNameAttribute.DisplayName : property.Name;
-
- var column = new DataGridViewTextBoxColumn()
- {
- HeaderText = columnName,
- DataPropertyName = property.Name
- };
-
- dataGridView.Columns.Add(column);
- }
-
- dataGridView.DataSource = dataSource.ToList();
- }
- public static string getProperty<T>(string key)
- {
- var properties = typeof(T).GetProperties();
- string pName = null;
- foreach (var property in properties)
- {
-
- var displayNameAttribute = property.GetCustomAttribute<DisplayNameAttribute>();
- pName = displayNameAttribute != null ? displayNameAttribute.DisplayName : property.Name;
- if (key == pName)
- {
-
- pName = property.Name;
- break;
- }
- }
- return pName;
- }
- }
- }
|