我第一次使用gridview模板作为服务器控件,因为我需要为此动态生成列名和行字段,我创建了一个自定义复选框类,如下所示。
public class MyTemplate : ITemplate
{
public void InstantiateIn(Control container)
{
CheckBox chk = new CheckBox();
chk.ID = "chk";
container.Controls.Add(chk);
}
}
现在我从Asp.Net的Membership User和Role表中获取数据表值。 这是......
foreach (MembershipUser u in Membership.GetAllUsers())
{
DataRow dRow = dTable.NewRow();
dRow[0] = u.UserName;
string[] roles = Roles.GetRolesForUser(u.UserName);
dRow[1] = roles.Contains("Admin") ? true : false;
dRow[2] = roles.Contains("DPAO User") ? true : false;
dRow[3] = roles.Contains("GeneralUser") ? true : false;
dTable.Rows.Add(dRow);
}
GridView1.DataSource =dTable;
GridView1.DataBind();
但是当rowBound事件行值不正确时...我的第一个动态列是用户名,其余的列是复选框类型......
任何帮助都将受到高度赞赏