读书人

关于gridview 显示的有关问题

发布时间: 2012-01-19 00:22:28 作者: rapoo

关于gridview 显示的问题
我自定义的gridview控件的列,可以显示但是也显示原来没有定义的,如何去除呢?
显示如下:
用户名称 电子邮件 是否为管理员 用户操作 管理员设置 { UserID UserName Password Email IsAdmin }
jag jag580617@sina.com 编辑 修改密码 { 1 jag 123 jag580617@sina.com }
如何将后面的用大括号里面内容的删除
代码如下:
<asp:GridView ID="UserView" runat="server" Width="100%" BorderWidth ="1px"
BackColor="LightGoldenrodYellow" CellPadding="2"
OnRowCommand="UserView_RowCommand" OnRowDeleting=" UserView_RowDeleting"
BorderColor="Tan" ForeColor="Black" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="用户名称">
<ItemTemplate>
<a href='ViewUser.aspx?UserID=<%# Eval("UserID") %>'><%# Eval("UserName")%></a>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="电子邮件">
<ItemTemplate>
<a href='mailto:<%# Eval("Email") %>'><%# Eval("Email")%></a>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="是否为管理员">
<ItemTemplate>
<center> <asp:CheckBox ID="IsAdminCheck" runat="server" Enabled="false" Checked='<%# Eval("IsAdmin") %>' /></center>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="用户操作">
<ItemTemplate>
<a href='EditUser.aspx?UserID=<%# Eval("UserID") %>'>编辑 </a>
     <a href='EditPWD.asp?UserID=<%# Eval("UserID") %>'>修改密码</a>
   
<asp:ImageButton ID="DeleteBtn" runat="server" CommandName="delete" ImageUrl="~/Image/Validator.jpg" AlternateText="删除该用户"
CommandArgument='<%# Eval("UserID") %>'/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="管理员设置">
<ItemTemplate>
<asp:Button ID="SetAdminBtn" runat="server"
CommandName="admin" Width="160" Text='<%# (bool)Eval("IsAdmin")==true?"取消管理员权限":"设为管理员" %>'
CommandArgument='<%# Eval("UserID") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="Tan" />
<PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue"
HorizontalAlign="Center" />
<SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
<HeaderStyle BackColor="Tan" Font-Bold="True" />
<AlternatingRowStyle BackColor="PaleGoldenrod" />
</asp:GridView>



protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindUserDate();
}

}
string scon = ConfigurationManager.ConnectionStrings["strcn"].ConnectionString;
private void BindUserDate()
{
DAL.IUser user = new DAL.User();
SqlDataReader dr = user.GetUsers();
UserView.DataSource = dr;
UserView.DataBind();
dr.Close();

}
protected void UserView_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName=="123")//当 点击commandName 为xiangxi 时,进行什么操作
{
string userid = e.CommandArgument.ToString();

}


}
protected void UserView_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string userid = UserView.DataKeys[e.RowIndex].Value.ToString();
string strsql = "delete from users where id=@userid";
SqlConnection con = new SqlConnection(scon);
con.Open();
SqlCommand cmd = new SqlCommand(strsql, con);
cmd.Parameters.AddWithValue("@userid", userid);
int i = cmd.ExecuteNonQuery();
con.Close();

BindUserDate();

UserView.EditIndex=-1;
}
请大家帮我解决一下,谢谢了


[解决办法]
AutoGenerateColumns=false
[解决办法]
我自定义的gridview控件的列,可以显示但是也显示原来没有定义的,如何去除呢?
三楼正解....设置GridView不自动生成额外咧
[解决办法]
取消自动生成的列,然后自己添加
[解决办法]
将自动按字段生成列的属性改为false就OK 了

读书人网 >asp.net

热点推荐