如何逐行显示网格视图中从方法输出的数据?这必须在不使用数据库的情况下完成。请指教。
答案 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;