【问题标题】:How to format datagridview when filling with linq2sql query填充linq2sql查询时如何格式化datagridview
【发布时间】:2012-03-21 15:30:07
【问题描述】:

我正在寻找格式化 datagridview 以便我可以隐藏和格式化某些列标题。问题是我不能使用内置的 winforms dgv 格式,因为我是从一个直接的 linq 查询填充网格,而不是使用内置向导绑定表。这是我填写表格的代码。如何格式化网格上的标题?谢谢!

var search = from s in db.trips
             orderby s.tripNo descending
             select s;

    dgvTripGrid.DataSource = search;

【问题讨论】:

  • OmegaMan 的回答是一项很棒的技术,因为它避免了 linq 匿名类型的许多痛苦。如果您不知道,您还可以通过设置列标题文本属性(以及隐藏任何不需要的列)在数据绑定后格式化网格列,与自定义实体方法混合应该为您提供所需的所有控制。

标签: c# winforms linq-to-sql c#-4.0


【解决方案1】:

使用应该显示的列(标题)名称创建一个动态实体并将其绑定这里是一个示例:

BindingSource bindingSource1= new BindingSource();
private void LoadGrid()
{
    List<Data> dataListing = new List<Data>()
    {
        new Data() { Name = "Jabberwocky", Operation="Read", DateStart= DateTime.Now.AddDays(-2), DateEnd = DateTime.Now.AddDays(-2), Description="Process Started No errors"},
        new Data() { Name = "Space", Operation="Write", DateStart= DateTime.Now.AddDays(-2), DateEnd = DateTime.Now.AddDays(-1), Description="Final process remote allocation of 3000 items to main buffer."},
        new Data() { Name = "Stock Purchase", Operation="DataWarehousing", DateStart= DateTime.Now, DateEnd = DateTime.Now, Description="Shared data transport."}
    };

    var items = from dta in dataListing
        select new
        {
           OperationName = dta.Name,
           Start         = dta.DateStart.ToShortDateString(),
           End           = dta.DateEnd.ToShortDateString(),
           Operation     = dta.Operation,
           Description   = dta.Description
         };

    bindingSource1.DataSource = items;
    dataGridView1.DataSource  = bindingSource1;

    // Grid attributes
    dataGridView1.BorderStyle         = BorderStyle.Fixed3D;
    dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;

}

我在我的博客C# Linq How To Load a Winform Control Using Dynamic Linq entitites 上展示了这个例子

【讨论】:

    猜你喜欢
    • 2010-09-27
    • 1970-01-01
    • 1970-01-01
    • 2011-06-09
    • 2021-01-04
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多