|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。datagrid|可拖动|排序使用客户端剧本的上风,我们能够创立出能够拖动列,改动列宽度,显现、埋没列的XP作风的DataGrid,上面就是一切的代码。本人调试时请注重修正eMeng.Exam.UltraGrid路径。
检察例子
UltraGrid.aspx
<%@Pagelanguage="c#"Codebehind="UltraGrid.aspx.cs"AutoEventWireup="false"
Inherits="eMeng.Exam.UltraGrid.UltraGrid"%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<HTML>
<HEAD>
<title>XP作风的可拖动列、可排序、可改动宽度的DataGrid的例子</title>
<METAhttp-equiv="content-type"content="text/html;charset=gb2312">
<metaname="GENERATOR"Content="MicrosoftVisualStudio7.0">
<metaname="CODE_LANGUAGE"Content="C#">
<linkrel="stylesheet"type="text/CSS"href="UltraGrid.css">
<metaname="vs_defaultClientScript"content="JavaScript">
<metaname="vs_targetSchema"content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<bodyMS_POSITIONING="GridLayout">
<formid="DragableXpStyleTable"method="post"runat="server">
<divalign="center"style="PADDING:5px">
<b>XP作风的可拖动列、可排序、可改动宽度的DataGrid的例子。</b>
</div>
<divid="coolUltraGrid1"runat="server">
<divclass="gridHead">
<divclass="gridRow"id="gridRow"runat="server"></div>
</div>
<asp:Literalid="RowItem"runat="server"></asp:Literal>
</div>
</form>
</body>
</HTML>
UltraGrid.aspx.cs
usingSystem;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Data.OleDb;
usingSystem.Drawing;
usingSystem.Web;
usingSystem.Web.SessionState;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.HtmlControls;
namespaceeMeng.Exam.UltraGrid
{
///<summary>
///UltraGrid的择要申明。本例子演示了怎样创立可排序、可拖放、可调剂宽度的XP作风的DataGrid。
///出自:【孟宪会之出色天下】
///</summary>
publicclassUltraGrid:System.Web.UI.Page
{
protectedSystem.Web.UI.HtmlControls.HtmlGenericControlgridRow;
protectedSystem.Web.UI.WebControls.LiteralRowItem;
protectedSystem.Web.UI.HtmlControls.HtmlGenericControlcoolUltraGrid1;
privatevoidPage_Load(objectsender,System.EventArgse)
{
//在此处安排用户代码以初始化页面
coolUltraGrid1.Attributes.Add("class","coolUltraGrid");
coolUltraGrid1.Attributes.Add("style","WIDTH:100%;HEIGHT:400");
coolUltraGrid1.Attributes.Add("borderStyle","2");
coolUltraGrid1.Attributes.Add("altRowColor","oldLace");
coolUltraGrid1.Attributes.Add("selectionStyle","1");
///请依据你的数据库的设置,修正这里的数据库毗连字符串和查询语句。别的不要修正。
OleDbConnectioncn=newOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:xxx.mdb");
cn.Open();
stringsqlstring="SELECTTOP30D.TitleAs文档题目,D.CreateDateas公布工夫,S.TitleAS所属栏目";
sqlstring+="FROMDocumentD,SubjectSWHERED.pid=S.idORDERBYD.CreateDateDESC";
OleDbCommandcmd=newOleDbCommand(sqlstring,cn);
OleDbDataReaderdr;
dr=cmd.ExecuteReader(CommandBehavior.CloseConnection);
///
///组合表头
///
intFieldNumber=dr.FieldCount;
intColWidth,Tmp=0;
if(FieldNumber==0)
Response.End();
ColWidth=(int)100/FieldNumber;
stringTableHeader="";
for(inti=0;i<FieldNumber;i++)
{
if(dr.Read())
{
if(i==FieldNumber-1)
TableHeader+="<spanwidth="+(100-Tmp).ToString()+"%>"+dr.GetName(i).ToString()+"</span>";
else
TableHeader+="<spanwidth="+ColWidth.ToString()+"%>"+dr.GetName(i).ToString()+"</span>";
Tmp+=ColWidth;
}
}
gridRow.InnerHtml=TableHeader;
intRowNumber=1;
TableHeader="<divclass=gridBody>";
while(dr.Read())
{
TableHeader+="<divclass=gridRowid=row"+RowNumber.ToString()+">";
for(inti=0;i<FieldNumber;i++)
{
TableHeader+="<span>"+dr.GetValue(i).ToString()+"</span>";
}
使用cdonts,可以发送、查看邮件,实现webmail的功能。结合wsh,可以实现对nt主机的管理,如nt用户管理、iis虚拟主机设置、exchange邮箱设置等等,就像管理本地机一样方便。 |
|