好多天没有写学习日记了,但是学习没有停止...
朋友说要做个小项目,还没有开始。自己先考虑一下思路,考虑到有三种权限,不是特别复杂。所以想使用 Membership 来管理用户,但是这个类是没办法继承的,所以用户管理的问题想想办法如何实现比较方便。。。
思路是这样的,定义一个实体类来做数据源,直接在 Gridview 中进行管理操作。那么就必须给 Gridview 做一个合适的数据源,想起了以前看过的资料,Gridview 支持任何实现 IEnumerable 接口的对象作数据源。
好多天没有写学习日记了,但是学习没有停止...
朋友说要做个小项目,还没有开始。自己先考虑一下思路,考虑到有三种权限,不是特别复杂。所以想使用 Membership 来管理用户,但是这个类是没办法继承的,所以用户管理的问题想想办法如何实现比较方便。。。
思路是这样的,定义一个实体类来做数据源,直接在 Gridview 中进行管理操作。那么就必须给 Gridview 做一个合适的数据源,想起了以前看过的资料,Gridview 支持任何实现 IEnumerable 接口的对象作数据源。
Code
using System.Collections;
public class point
{
private int _x;
private int _y;
private int _z;
public int x { get { return _x; } set { _x = value; } }
public int y { get { return _y; } set { _y = value; } }
public int z { get { return _z; } set { _z = value; } }
}
public class myEnum : IEnumerable, IEnumerator
{
private int index; //定义索引
private point[] points; //定义一个point类的数组
public int x { get { return points[index].x; } }
public int y { get { return points[index].y; } }
public int z { get { return points[index].z; } }
public myEnum(int num)
{
this.index = -1;
points = new point[num];
for (int i = 0; i < points.Length; i++)
{
points[i] = new point();
points[i].x = i;
points[i].y = i * i;
points[i].z = i * i * i;
}
}
#region IEnumerable 成员
public IEnumerator GetEnumerator()
{
return points.GetEnumerator();
}
#endregion
#region IEnumerator 成员
public void Reset()
{
index = -1;
}
public object Current
{
get
{
return points[index];
}
}
public bool MoveNext()
{
index++;
return index >= points.Length ? false : true;
}
#endregion
}
实例化这个类以后,就可以直接用作数据源了
myEnum mes = new myEnum(5);
GridView1.DataSource = mes;
GridView1.DataBind();