【问题标题】:How do I display the retrieved data in a grid view如何在网格视图中显示检索到的数据
【发布时间】:2014-06-21 07:12:10
【问题描述】:

如何在网格视图中逐行显示作为方法输出的数据?这必须在不使用数据库的情况下完成。请指教。

【问题讨论】:

  • 您可以创建一个 Collection 并将其绑定到 GridView 的 itemSource 属性。

标签: c# asp.net visual-studio gridview datagrid


【解决方案1】:

您说的是asp.net webforms 中的GridView,还是Windows Forms 中的GridView。如果您谈论的是 WebForms GridView,您可以将任何数据集合绑定到 GridView。一般来说,虽然我使用 ListView 来更好地控制标记。

假设你有一个对象和一个集合,

public class MyObject
{
    public string Name { get; set; }
    public string Address { get; set; }
    //.......
}

//run this code in OnInit, public override OnInit(....)....

private List<MyObject> Items = new List<MyObject>();
MyObject mObj = new MyObject() { Name="Test", Address="SomeAddress" };
dataGrid.DataSource = Items;
dataGrid.DataBind();

在标记中...

使用 和 获取 MyObject 迭代中的值。

这也适用于 ListView。我喜欢 listview 的原因是 ListView 有 Layout、Item、Alternating Item、EmptyData 和 InsertItem 方法的模板。它使您可以 100% 控制用于呈现基础数据源的标记。

您不必在任何一个平台上都使用数据库。在 .Net DataSource 中并不意味着支持数据库。它意味着服务于数据的东西。这可能是上面的集合,也可能是数据库数据源..

实际上,它归结为任何实现 IEnumerable 的东西。

【讨论】:

    【解决方案2】:

    现在对于 Windows 窗体,它几乎是相同的,但您不必做任何标记等...该控件有一个 GUI 并可以完成所有这些,您可以控制列的宽度等...

    List<MyObject> items = new List<MyObject>();
    items.Add(new MyObject() { Name = "Bob", Address = "101 Some Stree SomeCity SomeState, 11111" });
    dataGridView1.DataSource = items;
    dataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 2017-01-06
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多