格式化Gridview 求教

luodancc123 2012-05-24 09:47:28
我还是学生,有好多还不明白,求教。。。

这是前台代码:
<%@ Page Language="C#" AutoEventWireup="true" EnableViewState="true" EnableEventValidation="false" CodeFile="ManageUser.aspx.cs" Inherits="Admin_ManageUser" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="UserEmail"
DataNavigateUrlFormatString="mailto:{0}" DataTextField="UserEmail" />
</Columns>
</asp:GridView>
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False"
DataKeyNames="UserID" onrowcommand="GridView2_RowCommand"
AllowSorting="True" BackColor="White" BorderColor="White" BorderStyle="Ridge"
BorderWidth="2px" CellPadding="3" CellSpacing="1" Font-Names="Andalus"
Font-Size="Medium" GridLines="None" HorizontalAlign="Center">
<RowStyle BackColor="#DEDFDE" ForeColor="Black" />
<Columns>

<asp:TemplateField HeaderText="用户名" SortExpression="UserName">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("UserName") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("UserName") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText="邮件地址">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl='<%# Eval("UserEmail", "Mailto:{0}") %>'
Text='<%# Eval("UserEmail") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText="性别">
<ItemTemplate >
<%# Eval ("UserGender").ToString()=="1"?"男":"女" %>
</ItemTemplate>
</asp:TemplateField>

<asp:TemplateField>
<ItemTemplate >
<asp:Button ID ="Button1" runat ="server" CausesValidation="false" CommandName="Del" Text="删除" OnClientClick="return confirm('确定删除吗?')" CommandArgument ='<%#Container.DataItemIndex %>' />
</ItemTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText ="获取行中的非主键数据" >
<ItemTemplate >
<asp:LinkButton ID ="lb1" runat ="server" CommandName="GetData1" Text="方法1" CommandArgument ='<%#Eval("UserName") %>'/>
<asp:LinkButton ID ="lb2" runat ="server" CommandName="GetData2" Text="方法2" CommandArgument ='<%# Container.DataItemIndex %>' />
<asp:LinkButton ID ="lb3" runat ="server" CommandName="GetData3" Text="方法3" CommandArgument ='<%#Container.DataItemIndex %>'/>
<input type ="hidden" runat ="server" id ="hid_UserName" value='<%#Eval("UserName")%>'/>
<input type ="hidden" runat ="server" id ="hid_UserEmail" value='<%#Eval("UserEmail")%>'/>
<asp:LinkButton ID ="lb4" runat ="server" CommandName="GetData4" Text="方法4" CommandArgument ='<%#Container.DataItemIndex %>'/>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="UserName" HeaderText="用户名" SortExpression="UserName" DataFormatString="< i> {0}/>"/>





</Columns>
<FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
<PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" />
<SelectedRowStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" />
</asp:GridView>

</form>
</body>
</html>

后台代码:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.Web .UI .MobileControls;

public partial class Admin_ManageUser : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
SetBind();
}
private void SetBind()
{
DataSet ds = new DataSet();
string sConnectionString = @"server=TSONG;database=Forum;Trusted_Connection=True";
using (SqlConnection conn = new SqlConnection(sConnectionString))
{
SqlDataAdapter da = new SqlDataAdapter("select * from tbUser", conn);
da.Fill(ds);
}

GridView2.DataSource = ds;
GridView2.DataBind();

}
protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
{

if (e.CommandName == "Del")
{
int iIndex = Convert.ToInt16(e.CommandArgument);
string sUserID = GridView2.DataKeys[iIndex].Value.ToString();
string sConnectionString = @"server=TSONG;database=Forum;Trusted_Connection=True";
string sSql = "Delete from tbUser where UserID=@UserID";
using (SqlConnection conn = new SqlConnection(sConnectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sSql, conn))
{
cmd.Parameters.AddWithValue("@UserID", sUserID);
ClientScript.RegisterStartupScript(Page.GetType(), "", string.Format("<script> alert('删除了{0}条记录');</script>)", cmd.ExecuteNonQuery()));
SetBind();
}

}
}

if (e.CommandName == "GetData1")
{
Response.Write(string.Format("您所单击的用户为:{0}", e.CommandArgument));
}

if (e.CommandName == "GetData2")
{
int iIndex = Convert.ToInt16(e.CommandArgument);
GridViewRow gvr = GridView2.Rows[iIndex];
string sUserName = gvr.Cells[0].Text;
string sUserEmail = (gvr.Cells[1].FindControl("HyperLink1") as HyperLink).Text;
Response.Write(string.Format("您所单击的用户为:{0}<br>您所单击用户邮件地址为:{1}", sUserName, sUserEmail));

}
if (e.CommandName == "GetData3")
{
int iIndex = Convert.ToInt16(e.CommandArgument);
GridViewRow gvr = GridView2.Rows[iIndex];
string sUserName = (gvr.FindControl ("hid_UserName") as HtmlInputHidden ).Value;
string sUserEmail = (gvr.FindControl("hid_UserEmail") as HtmlInputHidden).Value ;
Response.Write(string.Format("您所单击的用户为:{0}<br>您所单击用户邮件地址为:{1}", sUserName, sUserEmail));

}
if (e.CommandName == "GetData4")
{
int iIndex = Convert.ToInt16(e.CommandArgument);
string sUserID = GridView2.DataKeys[iIndex].Value.ToString();
string sConnectionString = @"server=TSONG;database=Forum;Trusted_Connection=True";
string sSql = "select * from tbUser where UserID=@UserID";
using (SqlConnection conn = new SqlConnection(sConnectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sSql, conn))
{
cmd.Parameters.AddWithValue("@UserID", sUserID);

SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.SingleRow);
if (dr.Read())
{
string sUserName = dr["UserName"].ToString();
string sUserEmail = dr["UserEmail"].ToString();
Response .Write (string .Format ("您所单击的用户:{0}<br>您所单击用户邮件地址为:{1}", sUserName, sUserEmail));

}
}

}

}

}
protected string FormatGenderData(string s)
{
string[] arrs = new string[] { "女", "男" };
return arrs[Convert.ToInt16(s)].ToString();
}

}


现在在学格式化Gridview,调试结果是这样子的:



...全文
182 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
yizhixiang 2012-10-11
  • 打赏
  • 举报
回复
我的代码是这样:
<asp:BoundField DataField="RecordTime" HeaderText="记录时间" SortExpression="RecordTime" ItemStyle-HorizontalAlign="Center"
DataFormatString="{0:yyyy年M月d日}" HtmlEncode="false" ApplyFormatInEditMode="true" />
竟然格式化无效,求解
紫魂一号 2012-05-25
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]
谢谢,显示是那样了,但是不明白书上为什么要SortExpression="UserName" ? 谢谢你,看你级别好高啊
[/Quote]
这不是按这个字段排序么。。。
问题一个接一个 挺混乱的。。
手可摘星辰 2012-05-25
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
C# code

///像辨别性别这样子的字段,可以使用二元表达式

/// <TextBox ID="id1" Text='<%= 二元表达式 %>'></TextBox>

/// 如果不行的话,可以使用 js 或者 在前台写个控制的方法来调用就可以了
[/Quote]

二元表达式是什么
孟子E章 2012-05-25
  • 打赏
  • 举报
回复
SortExpression是排序字段。
ZHUKY 2012-05-24
  • 打赏
  • 举报
回复



///像辨别性别这样子的字段,可以使用二元表达式

/// <TextBox ID="id1" Text='<%= 二元表达式 %>'></TextBox>

/// 如果不行的话,可以使用 js 或者 在前台写个控制的方法来调用就可以了

luodancc123 2012-05-24
  • 打赏
  • 举报
回复
谢谢,显示是那样了,但是不明白书上为什么要SortExpression="UserName" ? 谢谢你,看你级别好高啊
孟子E章 2012-05-24
  • 打赏
  • 举报
回复
这样写
<asp:BoundField DataField="UserName" HeaderText="用户名" HtmlEncode="false" DataFormatString="<i>{0}</i>"
luodancc123 2012-05-24
  • 打赏
  • 举报
回复
<asp:BoundField DataField="UserName" HeaderText="用户名" SortExpression="UserName" DataFormatString="< i> {0}/>"/>

这句代码有错误码 ? 就是想让我的表格里面的字显示斜体的,但是不是斜体的,就是<i>张三/>,按书上说应该是张三 。请问我哪里有错误吗 ?
luodancc123 2012-05-24
  • 打赏
  • 举报
回复
C:\Users\Administrator\Desktop\未命名.jpg 这是我本地路径 还是不行
孟子E章 2012-05-24
  • 打赏
  • 举报
回复
你贴的本地路径
<img src="http://Users%5CAdministrator%5CDesktop%5C%E6%9C%AA%E5%91%BD%E5%90%8D.jpg"

能显示才是奇怪的事情
luodancc123 2012-05-24
  • 打赏
  • 举报
回复
谢谢各位及时回答我,我把图片上传到空间相册然后插入链接,竟然还是显示不了。
ymim2005 2012-05-24
  • 打赏
  • 举报
回复
看不到图,呵呵
luodancc123 2012-05-24
  • 打赏
  • 举报
回复
我的图片怎么上传不了啊,显示不出来啊 !
孟子E章 2012-05-24
  • 打赏
  • 举报
回复
看不到图

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧