asp.net控件的另类用法之 DataGrid的另类用法一
去年做项目的时候,发现需要用一个类似于Devexpress的GridView控件(http://demos.devexpress.com/ASPxGridViewDemos/MasterDetail/MasterDetail.aspx),也就是相当于DataGrid/GridView控件的一行加上一个空白行,然后显示Detail信息。
于是后来就想到了下面的一个办法:
1.第一步
aspx代码
<asp:DataGrid ID="dgList" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundColumn HeaderText="Text" DataField="Text"></asp:BoundColumn>
<asp:BoundColumn HeaderText="Value" DataField="Value"></asp:BoundColumn>
<asp:BoundColumn HeaderText="Selected" DataField="Selected"></asp:BoundColumn>
<asp:BoundColumn HeaderText="Enabled" DataField="Enabled"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="...">
<ItemTemplate>
<%#Eval("Value").ToString()+":"+Eval("Text").ToString() %></td></tr>
<tr>
<td colspan="5" style="height:50px;">
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
cs代码
List<ListItem> list = new List<ListItem>();
for (int i = 0; i < 23; i++)
{
ListItem li = new ListItem(i.ToString(), i.ToString());
list.Add(li);
}
dgList.DataSource = list;
dgList.DataBind();
效果如下
2.第二步,实现控制Detail的显示
这个可以用两种方法
第一种用Js实现,只需更改aspx代码
<mce:script language="javascript"><!--
function Show(bt,index) {
var detail = document.getElementById("tr_" + index);
if (detail) {
if (detail.style.display == "none") {
detail.style.display = "block";
bt.value = "-";
}
相关文档:
ASP.NET提供了事件驱动编程模型,使开发者简化了应用程序的总体设计,但是这个也造成了它固有的一些问题,例如,在传统的ASP里,我们可以通过使用POST方法很容易地实现页面间传递变量,同样的事情,在使用事件驱动编程模型的ASP.NET就要麻烦一些,但是我们仍然有一些方法可以实现同样的功能。笔者在这里将包含使用que ......
专门给你写了个,你看一下,说明下这里没有考虑到数据的有效性,需要的话自己加上。
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebCon ......
ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。了解页生命周期非常重要,因为这样做您就能在生命周期的合适阶段编写代码,以达到预期效果。此外,如果您要开发自定义控件,就必须熟悉页生命周期,以 ......
使用vs 2005,发现根本打不开老师发过来的源代码Portal_Article.csproj文件,上网查了一下,好多人都说是是因为没有给vs
2005打补丁.我的新建项目里根本没有ASP.NET WEB应用程序,经过一个下午的努力,终于总结出了,解决问题的方法.
1.先从微软网站下载补丁.
下载地址1为:http://download.microso ......