使用edmx以编程方式使用数据文本字段填充Gridview

时间:2013-10-16 11:13:05

标签: c# asp.net gridview entity-framework-4 edmx

我在这里遇到问题。 我在c#中有一个edm查询,其中我根据用户选择的内容填充具有多个表的1(一)网格视图控件。我让它工作并用所有数据填充表格。

我需要知道最好的方法是使用行中的数据加载列名。我无法使用列名称预加载网格视图,因为每次数据都会不同。我还想在网格视图上有一个按钮字段,文本显示为表的主要ID。

我已经尝试了所有的事情,任何帮助都会受到赞赏。

这是我的代码:

  using (ITIncidentsEntities dbc = new ITIncidentsEntities()) {

        var Query = (from c in dbc.GeneralIncidents
                     select c);

        if (!string.IsNullOrWhiteSpace(txtDate.Text))
        {
            DateTime _date = Convert.ToDateTime(txtDate.Text);
            Query = Query.Where(c => c.CreateDate == _date);
        }

        if (!string.IsNullOrWhiteSpace(txtAuthor.Text))
        {
            Query = Query.Where(c => c.Author.Contains(txtAuthor.Text));
        }

        if (!string.IsNullOrWhiteSpace(txtIncidentFormat.Text))
        {
            Query = Query.Where(c => c.Title == txtIncidentFormat.Text);
        }

        grvResults.DataSource = Query.ToArray();
        grvResults.DataBind();
        grvResults.Columns.Add(new ButtonField { HeaderText = "Print", Text = "??? Datavalue Field" });
   }

非常感谢。

1 个答案:

答案 0 :(得分:0)

好的,我找到了适合我的解决方案。

grvResults.DataSource = Query.ToArray();
grvResults.Columns.Add(new BoundField { DataField = "ValueID", HeaderText = "General ID" });
grvResults.Columns.Add(new BoundField { DataField = "Value", HeaderText = "General" });
grvResults.DataBind();

我会在适当的时候根据用户的选择生成这个。