如何在网格视图中显示检索到的数据

时间:2014-05-05 04:24:16

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

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

2 个答案:

答案 0 :(得分: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();

在标记中......

使用&lt;%#Eval(“名称”)%&gt;和&lt;%#Eval(“地址”)%&gt;获取MyObject迭代的值。

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

您不必在任何平台中使用数据库。在.Net DataSource中并不意味着支持数据库。它意味着提供数据的东西。这可能是上面的集合,或数据库数据源..

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

答案 1 :(得分:0)

现在对于Windows Forms,它大致相同,但你不必做任何标记等......控件有一个GUI并完成所有这些,你可以控制宽度&#39 ;列等等......

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;