想把一个数据表中的内容显示出来,本来用的是DataGrid,但是数据表中的列太多,显示出来不好看,准备先简单显示,然后点击后再显示详细信息。该怎么实现?用DataGrid可不可以?谢谢了!
解决方案 »
- 谁有关于在ASP.NET中操作Word/Excel文档方面的资料,或者OCX控件,中间件什么的~!
- 编程方面目前新技术
- 在线求解,拆分字符串
- 网站开发设计路,尤其是后台管理设计思路
- 需要实现N行N列的数据,提供给用户勾选,用哪个控件合适呢?
- 不知道这算不算vs2005代码编辑器的一点小Bug?
- dropdownlist绑定数据后写入只能是第一行。
- 对象不能从 DBNull 转换为其他类型
- 请问datagrid能否达到以下要求?
- repeater 的问题
- Asp.Net+C#,值传丢了,各位大大来看看!
- OdbcDataReader dr=cmd.ExecuteReader();dr如何读取多条记录的值?大侠。
具体功能为点击标题后弹出一个小窗口显示详细信息.
以下是一个完整的ASPX页面文件含源程序,可实现此功能,你好好研究吧!<%@ Page language="c#" %>
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
//页面初试化时进行数据绑定
if(!IsPostBack)
DataGridDataBind();
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.dgAddDelConfirm.ItemCreated += new System.Web.UI.WebControls.DataGridItemEventHandler(this.dgAddDelConfirm_ItemCreated);
this.dgAddDelConfirm.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dg_DeleteCommand);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void dg_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//输出信息
Response.Write("删除");
} //进行数据绑定
private void DataGridDataBind()
{
//定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
//创建数据适配器对象
SqlDataAdapter da = new SqlDataAdapter("select LastName,FirstName,City from Employees",conn);
//创建DataSet对象
DataSet ds = new DataSet();
try
{
//填充数据集
da.Fill(ds,"testTable");
//进行数据绑定
dgAddDelConfirm.DataSource = ds.Tables["testTable"];
dgAddDelConfirm.DataBind();
}
catch(Exception error)
{
//输出异常信息
Response.Write(error.ToString());
}
} private void dgAddDelConfirm_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//判断如果是DataGrid控件中的项、交替项以及编辑项
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem || e.Item.ItemType==ListItemType.EditItem)
{
TableCell myTableCell;
//定义对“删除”单元格的引用
myTableCell = e.Item.Cells[3];
//定义对“删除”单元格中控件的引用
LinkButton btnDel = (LinkButton)myTableCell.Controls[0];
//添加当单击时弹出确认对话框的自定义属性
btnDel.Attributes.Add("onclick", "return confirm('您真的要删除此行吗?');");
btnDel.Text = "删除";
}
}
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>DataGridDelConfim</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<h2>为删除列添加确认对话框</h2>
<asp:DataGrid id="dgAddDelConfirm" style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 48px"
runat="server" CellPadding="4" BackColor="White" BorderWidth="1px" BorderStyle="None" BorderColor="#3366CC"
Height="176px" Width="512px" AutoGenerateColumns="False" ShowFooter="True">
<SelectedItemStyle Font-Bold="True" ForeColor="#CCFF99" BackColor="#009999"></SelectedItemStyle>
<ItemStyle ForeColor="#003399" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#CCCCFF" BackColor="#003399"></HeaderStyle>
<FooterStyle ForeColor="#003399" BackColor="#99CCCC"></FooterStyle>
<Columns>
<asp:BoundColumn DataField="LastName" HeaderText="LastName"></asp:BoundColumn>
<asp:BoundColumn DataField="FirstName" HeaderText="FirstName"></asp:BoundColumn>
<asp:BoundColumn DataField="City" HeaderText="City"></asp:BoundColumn>
<asp:ButtonColumn Text="删除" CommandName="Delete"></asp:ButtonColumn>
</Columns>
<PagerStyle HorizontalAlign="Left" ForeColor="#003399" BackColor="#99CCCC" Mode="NumericPages"></PagerStyle>
</asp:DataGrid>
</form>
</body>
</HTML>