我想在 Windows 窗体应用程序 (WinForms) 中的类和实体上使用数据注释。我使用 windows DataGridViews 和 Infragistics UltraGrids。我之前已经成功使用该[DisplayName("Name to Display")]属性在 DataGridView/UltraGrid 上设置列标题文本。
这是非常有益的,因为我可能有几个网格显示这个类,而不是配置每个网格来显示适当的标题文本,我可以简单地设置一个数据注释。
我还想使用以下数据注释:
例子
给定以下带注释的数据类:
public class Item
{
//Specifies that the column should not be displayed
[Display(AutoGenerateField = false)]
public int ItemID { get; set; }
//Specifies that the column should be the 1st column in the datagridview
[Display(Order = 1)]
public int Name { get; set; } …Run Code Online (Sandbox Code Playgroud) 我想DataGridView根据我的自定义类自动创建所有列。每件事都按其应有的方式工作,但我需要的是格式化和对齐单元格值。
那么是否有一个属性可以添加到我的字段(HeightMeter)中,以便它可以根据需要对齐和格式化。要在手动列创建代码中执行此操作,您将使用以下命令:
DataGridViewColumn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
DataGridViewColumn.DefaultCellStyle.Format = "N2";
Run Code Online (Sandbox Code Playgroud)
如何在使用 AutoGenerateColumns 解决方案时指定 DefaultCellStyle 属性 - 注意我仅限于使用 .net 2 :(
这是我需要的和我得到的示例:
public partial class Form1 : Form
{
private List<Person> people = new List<Person>();
private DataGridView dataGridView1 = new DataGridView();
private DataGridView dataGridView2 = new DataGridView();
public Form1()
{
InitializeComponent();
dataGridView1.Dock = DockStyle.Top;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dataGridView2.Dock = DockStyle.Top;
dataGridView2.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
Controls.Add(dataGridView2);
Controls.Add(dataGridView1);
Load += new EventHandler(Form1_Load);
Text = "";
}
private void Form1_Load(object sender, EventArgs e)
{
PopulateLists(); …Run Code Online (Sandbox Code Playgroud)