问题一:帖子分页后,楼层又从一楼开始!!
问题二:用户性别图案全都一样,是不是不能放在该模块?
问题三:楼主头像分页后不显示
问题四:除楼主以外,所有用户的等级都不显示汉字,是数据库的1、2、3
前台: <img src="<%=userhead %>" border="0" />//楼主头像<asp:DataGrid ID="mygrid" runat="server" Width="98%" AutoGenerateColumns="False" AllowPaging="True" HorizontalAlign="Center" PageSize="5" OnPageIndexChanged="mygrid_PageIndexChanged" OnItemDataBound="mygrid_ItemDataBound">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<%#Eval("UserName") %>
<asp:Label ID="sex" runat="server" Text='<%#Eval("Sex") %>'></asp:Label><br />
<div align="center">
<img src="<%#Eval("UserHead") %>" border="0" alt="" /></div>
<br />
等级:<asp:Label ID="right" runat="server"><%#Eval("Right") %></asp:Label><br />
积分:<%#Eval("Codes") %><br />
注册:<%#Eval("RegTime") %><br />
<img src="images/ip.gif" border="0" /><%#Eval("ReplyTime") %><br />
</ItemTemplate>
<ItemStyle Height="110px" Width="18%" />
</asp:TemplateColumn>//回帖用户信息
</Columns> <PagerStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" HorizontalAlign="Right" Mode="NumericPages" />//分页部分
</asp:DataGrid>
后台: public void BindGrid()
{
DataBase db = new DataBase();
string sql = "select a.ReplyID,a.TopicID,a.IsLock,a.ReplyContent,a.UserName,a.ReplyTime,u.Sex,u.UserName,u.UserHead,u.[Right],u.Codes,u.RegTime from Replys a left outer join Users u on a.UserName=u.UserName where a.TopicID=" + id;
SqlDataAdapter da = db.CreateDa(sql);
DataSet ds = new DataSet();
da.Fill(ds, "MyTable");
mygrid.DataSource = ds.Tables["MyTable"].DefaultView;
mygrid.DataBind();
protected void mygrid_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
{
mygrid.CurrentPageIndex = e.NewPageIndex;
BindGrid();
}
protected void post1_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect("Post.aspx?BoardID=" + BoardID);
}
protected void mygrid_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Label lb = (Label)e.Item.FindControl("lc");
lb.Text = "第" + (e.Item.ItemIndex + 1).ToString() + "楼";
Label sex = (Label)e.Item.FindControl("sex");
if (sex.Text == "女")
{
sex.Text = "<img id='Female' border='0' src='images/female.gif'/>";
}
else
{
sex.Text = "<img id='male' border='0' src='images/male.gif'/>";
}
Label lblRight = e.Item.FindControl("Right") as Label;
if (lblRight != null)
{
if (lblRight.Text == "1")
{
right.Text = "普通用户";
}
else if (lblRight.Text == "2")
{
lblRight.Text = "版主";
}
else if (lblRight.Text == "3")
{
lblRight.Text = "系统管理员";
}
}
问题二:用户性别图案全都一样,是不是不能放在该模块?
问题三:楼主头像分页后不显示
问题四:除楼主以外,所有用户的等级都不显示汉字,是数据库的1、2、3
前台: <img src="<%=userhead %>" border="0" />//楼主头像<asp:DataGrid ID="mygrid" runat="server" Width="98%" AutoGenerateColumns="False" AllowPaging="True" HorizontalAlign="Center" PageSize="5" OnPageIndexChanged="mygrid_PageIndexChanged" OnItemDataBound="mygrid_ItemDataBound">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<%#Eval("UserName") %>
<asp:Label ID="sex" runat="server" Text='<%#Eval("Sex") %>'></asp:Label><br />
<div align="center">
<img src="<%#Eval("UserHead") %>" border="0" alt="" /></div>
<br />
等级:<asp:Label ID="right" runat="server"><%#Eval("Right") %></asp:Label><br />
积分:<%#Eval("Codes") %><br />
注册:<%#Eval("RegTime") %><br />
<img src="images/ip.gif" border="0" /><%#Eval("ReplyTime") %><br />
</ItemTemplate>
<ItemStyle Height="110px" Width="18%" />
</asp:TemplateColumn>//回帖用户信息
</Columns> <PagerStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" HorizontalAlign="Right" Mode="NumericPages" />//分页部分
</asp:DataGrid>
后台: public void BindGrid()
{
DataBase db = new DataBase();
string sql = "select a.ReplyID,a.TopicID,a.IsLock,a.ReplyContent,a.UserName,a.ReplyTime,u.Sex,u.UserName,u.UserHead,u.[Right],u.Codes,u.RegTime from Replys a left outer join Users u on a.UserName=u.UserName where a.TopicID=" + id;
SqlDataAdapter da = db.CreateDa(sql);
DataSet ds = new DataSet();
da.Fill(ds, "MyTable");
mygrid.DataSource = ds.Tables["MyTable"].DefaultView;
mygrid.DataBind();
protected void mygrid_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
{
mygrid.CurrentPageIndex = e.NewPageIndex;
BindGrid();
}
protected void post1_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect("Post.aspx?BoardID=" + BoardID);
}
protected void mygrid_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Label lb = (Label)e.Item.FindControl("lc");
lb.Text = "第" + (e.Item.ItemIndex + 1).ToString() + "楼";
Label sex = (Label)e.Item.FindControl("sex");
if (sex.Text == "女")
{
sex.Text = "<img id='Female' border='0' src='images/female.gif'/>";
}
else
{
sex.Text = "<img id='male' border='0' src='images/male.gif'/>";
}
Label lblRight = e.Item.FindControl("Right") as Label;
if (lblRight != null)
{
if (lblRight.Text == "1")
{
right.Text = "普通用户";
}
else if (lblRight.Text == "2")
{
lblRight.Text = "版主";
}
else if (lblRight.Text == "3")
{
lblRight.Text = "系统管理员";
}
}
解决方案 »
- DataGridView,TopLeftCell(左上角单元格),点击的时候如何让其不选中全部?
- Winform的textBox被拉大 如何调整字体也相应调整
- C# Winform中怎样条件控制删除DataGridView的行(急)
- C#代码连接数据库一直连接不上
- WinFrom 强制让Tree控件获取焦点
- 救命啊急啊!.aspx.cs文件编译成.dll后,.aspx如何调用它呢?
- 请教一个小问题
- reportviewer vs2010 打印出来的字体和预览不一致
- 用记事本做一个helloworld怎么运行
- 请问.net framework RC2和.net framework beta2一样吗? 哪个好用些
- serialPort: COM1串口问题
- 一个关于 VS窗体设计器的问题
问题二:用户性别图案全都一样,是不是不能放在该模块?
问题三:楼主头像分页后不显示
问题四:除楼主以外,所有用户的等级都不显示汉字,是数据库的1、2、3
=====================================
问题一:通过URL或者特征标识判断是否是第二页,对第二页以后进行处理,楼层是:第一页层数+每页显示层数*(当前页数-2)+当前页层数,为什么减2?因为要减去第一页及当前页,这两页可能不是楼层数都是每页显示最大楼层数;
问题二:性别可以放在Bind的时候直接判断,如:
<img src="<%# Eval("sex").ToString()=="男"?"images/male.gif":"images/female.gif" %>" border="0" alt="" />
前提是你的数据库确实是用nchar(1)来存放性别的,而不是bool或者varchar(n)来存放的。
问题三:解决办法通问题一,这也是因为没有区分第一页和其他页的问题;
问题四:可以采用类似于问题二的解决办法或者用下一个回帖我介绍的办法。
<asp:GridView ID="gvPersonList" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="Id" HeaderText="编号" />
<asp:BoundField DataField="Name" HeaderText="姓名" />
<asp:TemplateField HeaderText="性别">
<ItemTemplate>
<%# Eval("Sex").ToString()=="true"?"男":"女" %>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Age" HeaderText="年龄" />
<asp:TemplateField HeaderText="婚否">
<ItemTemplate>
<%# Boolean.Parse(Eval("Married").ToString())==true?"是":"否" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="婚否">
<ItemTemplate>
<asp:LinkButton CommandArgument='<%# Eval("Id") %>' Enabled='<%# Boolean.Parse(Eval("Married").ToString())==true?false:true %>' Text="设为结婚" runat="server" OnCommand="SetMarried"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>看这个:
Boolean.Parse(Eval("Married").ToString())
甚至,还可以在.cs中写方法,绑定的时候传参数过去,由cs中的方法返回结果回来都可以的。
<%# (bool)Eval("Sex")?"男":"女" %>
点击图片看路径
Eval("Right").ToString().Equals("1")?"":""
使用枚举