msgbartop
Somethings you can’t control,just go ahead
msgbarbottom

23 Jun 07 Twitter的访问速度

在Donews blogger中我估计算是落伍的,虽然知道Twitter有一段时间了,但今天刚刚注册。
可注册之后在使用过程中,感觉好像网页打开速度不是很理想,确切的说应该是挺慢的!
试了一下其他网站,正常。
用Net Meter看了一下流量,在没有其他任何程序占用带宽的情况下,仍旧很慢。
作为一个用户我的体验就是:其他的还不知道,但速度比较慢。

Tags:

23 Jun 07 Asp.net Study(13)

DataList控件

包含的模板:ItemTemplate,HeaderTemplate,FooterTemplate,AlternatingItemTemplate,SeparatorTemplate,SelectedItemTemplate,EditItemTemplate

同时DataList控件提供了Repeater不具备的RepeatDriection and RepeatColumns属性
RepeatDirection可以取两个值:Horizontal and Vertical(默认为Vertical)

学习内容:SelectedItemTemplate,EditItemTemplate

注意:在OnItemCommand的响应函数中score.SelectedIndex=e.Item.ItemIndex这句如果没有的话,也可以正常运行,只是在最后的结果中要点击连接两次才会显示SelectedItemTemplate中的内容。

代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataGridSort.aspx.cs" Inherits="DataGridSort" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<!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">
<script runat=server>
    OleDbConnection Myconn;
    public void Page_Load(Object src, EventArgs e)
    {
        //连接语句
        string Myconnstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(".") + "..\\data\\score.mdb;";
        Myconn = new OleDbConnection(Myconnstring);
        Myconn.Open();
       
        if (!IsPostBack)
        {
            BindGrid();
        }
    }
   
    //创建默认视图
    ICollection Createtable()
    {
        string strsel = "select * from score";
        OleDbDataAdapter MyAdapter = new OleDbDataAdapter(strsel, Myconn);
        DataSet ds=new DataSet();
        MyAdapter.Fill(ds, "score");

        return ds.Tables["score"].DefaultView;
    }
   
    //数据绑定
    public void BindGrid()
    {
        score.DataSource = Createtable();
        score.DataBind();
    }
   
    //select命令响应函数
    public void DataList_ItemCommand(Object sender, DataListCommandEventArgs e)
    {
        score.SelectedIndex = e.Item.ItemIndex;
        BindGrid();
    }
   
    //编辑命令响应函数
    public void DataList_EditCommand(Object sender, DataListCommandEventArgs e)
    {
        score.EditItemIndex = e.Item.ItemIndex;
        BindGrid();
    }
   
    //取消命令响应函数
    public void DataList_CancelCommand(Object sender, DataListCommandEventArgs e)
    {
        score.EditItemIndex = -1;
        BindGrid();
    }
   
    //更新命令响应函数
    public void DataList_UpdateCommand(Object sender, DataListCommandEventArgs e)
    {
        string strname=((Label)e.Item.FindControl("lblname")).Text;
        int intmath=Int32.Parse(((TextBox)e.Item.FindControl("tbmath")).Text);
        int intenglish=Int32.Parse(((TextBox)e.Item.FindControl("tbenglish")).Text);
        int intchinese=Int32.Parse(((TextBox)e.Item.FindControl("tbchinese")).Text);

        string strupdate = "Update score set s_Math=" +intmath+ ",s_English=" +intenglish+ ",s_Chinese=" +intchinese+ " where s_Name=’" +strname+ "’";
        OleDbCommand Mycommand = new OleDbCommand(strupdate, Myconn);
        Mycommand.ExecuteNonQuery();

        score.EditItemIndex = -1;
        BindGrid();
    }

</script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:DataList ID="score"
    HeaderStyle-BackColor=ActiveCaptionText
    AlternatingItemStyle-BackColor=ActiveCaption
    runat=server
    OnItemCommand="DataList_ItemCommand"
    OnEditCommand="DataList_EditCommand"
    OnCancelCommand="DataList_CancelCommand"
    OnUpdateCommand="DataList_UpdateCommand"
    SelectedItemStyle-BackColor=red
    RepeatLayout=Table>
    <ItemTemplate>
    Name:<%# DataBinder.Eval(Container.DataItem,"s_Name") %>
    <asp:LinkButton Text="Details" id="btnselect" CommandName="select" runat=server/>
    <asp:LinkButton Text="Edit" ID="btnedit" CommandName="edit" runat=server/>
    </ItemTemplate>
    <SelectedItemTemplate>
    Name:<%# DataBinder.Eval(Container.DataItem,"s_Name") %><br>
    Math:<%# DataBinder.Eval(Container.DataItem,"s_Math") %><br>
    English:<%# DataBinder.Eval(Container.DataItem,"s_English") %><br>
    Chinese:<%# DataBinder.Eval(Container.DataItem,"s_Chinese") %><br>
    </SelectedItemTemplate>
   
    <EditItemTemplate>
    Name:<asp:Label ID="lblname" Text=’<%# DataBinder.Eval(Container.DataItem,"s_Name") %>’ runat=server/><br>
    Math:<asp:TextBox ID="tbmath" Text=’<%# DataBinder.Eval(Container.DataItem,"s_Math") %>’ runat=server/><br>
    English:<asp:TextBox ID="tbenglish" Text=’<%# DataBinder.Eval(Container.DataItem,"s_English") %>’ runat=server/><br>
    Chinese:<asp:TextBox ID="tbchinese" Text=’<%# DataBinder.Eval(Container.DataItem,"s_Chinese") %>’ runat=server/><br>
    <asp:LinkButton ID="lblupdate" Text="Update" CommandName="Update" runat=server/>
    <asp:LinkButton ID="lblcancel" Text="Cancel" CommandName="Cancel" runat=server/>
    </EditItemTemplate>
    </asp:DataList>
    </div>
    </form>
</body>
</html>

DataList的分页功能

现在的水平,程序只能照教材抄,自己来理一下程序的思路。

注:在程序调试的过程中,在return ds.Tables["score"].DefaultView处出现了一个错误,提示“需要输入符号”,当时没能解决,关了电脑,除去吃了个饭,回来再打开,调试,ok了。

1,分页所需要的数据:PageSize,PageCount,RecordCount,PageIndex,CurrentPage(给ViewState["PageIndex"]付值用)

2,编写函数去得到相应数据

3,首先通过StartIndex取得需要显示的页的第一条记录的Index值 StartIndex=CurrentPage*PageSize
然后通过MyAdapter.Fill()方法获得要显示的页的默认视图MyAdapter.Fill(ds,StartIndex,PageSize,"score")

4, 绑定数据。对是否是首页或是末页进行判断(通过CurrentPage<PageCount-1 and CurrentPage>0进行判断),如果是首页则设置lbnPrevPage.Enabled=false,如果是末页则设置 lbnNextPage.Enabled=false

5,使用swith case函数对要进行上翻页还是下翻页进行判断,上翻和下翻的命令用e.CommandName来取得

6,最后设置ViewState["PageIndex"]=CurrentPage

代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataListPageIndex.aspx.cs" Inherits="DataListPageIndex" %>
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.OleDb"%>
<!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">
<script runat=server>
    OleDbConnection Myconn;
    int PageSize, ItemCount, RecordCount, PageCount, CurrentPage;
    public void Page_Load(Object src, EventArgs e)
    {
        PageSize = 2;
       
        //连接语句
        string Myconnstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"..\\data\\score.mdb;";
        Myconn=new OleDbConnection(Myconnstring);
        Myconn.Open();
       
       
        //第一次请求执行
        if (!IsPostBack)
        {
            ListBind();
            CurrentPage = 0;
            ViewState["PageIndex"] = 0;
           
            //计算记录条数
            RecordCount = CalculateRecord();
            lblRecordCount.Text = RecordCount.ToString();
           
            //计算总共有多少页
            PageCount = RecordCount / PageSize;
            lblPageCount.Text = PageCount.ToString();
            ViewState["PageCount"] = PageCount;
        }
    }
   
    //计算记录条数
    public int CalculateRecord()
    {
        int intCount;
        string strCount = "select Count(*) as co from score";
        OleDbCommand Mycommand = new OleDbCommand(strCount, Myconn);
        OleDbDataReader dr = Mycommand.ExecuteReader();

        if (dr.Read())
        {
            intCount = Int32.Parse(dr["co"].ToString());
        }
        else
        {
            intCount = 0;
        }
        dr.Close();
        return intCount;
    }
   
    //创建数据源
    ICollection DataSource()
    {
     //设定读取的起始位置
     int startindex;
     startindex = CurrentPage*PageSize;
    
     string strsel="select * from score";
     OleDbDataAdapter MyAdapter=new OleDbDataAdapter(strsel,Myconn);
     DataSet ds=new DataSet();
     MyAdapter.Fill(ds,startindex,PageSize,"score");

     return ds.Tables["score"].DefaultView;
    }
   
    //数据绑定
    public void ListBind()
    {
        score.DataSource = DataSource();
        score.DataBind();

        lbnNextPage.Enabled = true;
        lbnPrevPage.Enabled = true;

        if (CurrentPage == PageCount - 1) lbnNextPage.Enabled = false;
        if (CurrentPage == 0) lbnPrevPage.Enabled = false;
        lbnCurrentPage.Text = (CurrentPage + 1).ToString();
    }
   
    //Page_OnClick事件处理
    public void Page_OnClick(Object sender,CommandEventArgs e)
    {
        PageCount = (int)ViewState["PageCount"];
        CurrentPage = (int)ViewState["PageIndex"];
       
        //判断翻页方向
        string cmd=e.CommandName;
        switch(cmd)
        {
            case "Next":
                if(CurrentPage<(PageCount-1)) CurrentPage++;
                break;
            case "Prev":
                if(CurrentPage>0) CurrentPage–;
                break;
        }
        ViewState["PageIndex"]=CurrentPage;
        ListBind();
    }
</script>
    <title>DataListPageIndex</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    Total<asp:Label ID="lblRecordCount" runat=server/>record&nbsp;Current<asp:Label ID="lbnCurrentPage" ForeColor=Red runat=server/>/<asp:Label ID="lblPageCount" ForeColor=red runat=server/>page&nbsp;
   
    <asp:DataList ID="score" AlternatingItemStyle-BackColor=ControlDarkDark HeaderStyle-BackColor=AntiqueWhite runat=server>
    <ItemTemplate>
    Name:<%# DataBinder.Eval(Container.DataItem,"s_Name")%>
    </ItemTemplate>
    </asp:DataList>
    <asp:LinkButton ID="lbnPrevPage" OnCommand="Page_OnClick" CommandName="Prev" runat=server Text="PrevPage"/>
    <asp:LinkButton ID="lbnNextPage" OnCommand="Page_OnClick" CommandName="Next" runat=server Text="NextPage"/>
    </div>
    </form>
</body>
</html>

Tags:

23 Jun 07 别说我不喜欢听的

Blogger:为什么又封我blog啊?
GFW:还问我为什么,自己不知道吗?
Blogger:自从上次您教育了我之后,我已经很小心了啊。刚刚看到你们家里有一些无良的老板在虐带员工,我想写出来让大家评评理啊。我知道您忙,事情多,这些“繁杂的家务事”可能没时间管,所以我就帮帮您啊。
GFW:靠,你闲的蛋疼是吧,那个老板是我兄弟,欺负几个小工怎么了,我们家就这样,我们家房子你看你能租就租,不能租就走(整个“中原”都是我们家,我看你能走到哪)。记住,以后别说我不喜欢听的,说了就封你,少跟我理论,没商量。
Blogger:……

刚刚从Googlereader的订阅中看到Isaac Lifelog的一个更新,关于山西黑砖窑的。

点击链接过去,就是无法访问。
看来GFW这帮哥们也是没日没夜在干啊。
同志们,辛苦了!

Tags:

22 Jun 07 Asp.net Study(12)

DataGrid 控件

用到的属性 :AllowSorting,OnSortCommand

6.用Sort方法进行排序

注意:如果要设置排序数序(DESC),则在IsPostBack函数中必须指定默认的排序字段,否则会出现找不到DESC字段错误。

if (!IsPostBack)
        {
            ViewState["SortField"] = "s_Name";
            BindGrid();
        }

Sort方法的代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataGridSort.aspx.cs" Inherits="DataGridSort" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<!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">
<script runat=server>
    OleDbConnection Myconn;
    public void Page_Load(Object src, EventArgs e)
    {
        string Myconnstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(".") + "..\\data\\score.mdb;";
        Myconn = new OleDbConnection(Myconnstring);
        Myconn.Open();

        if (!IsPostBack)
        {
            ViewState["SortField"] = "s_Name";
            BindGrid();
        }
    }
    ICollection Createtable()
    {
        string strsel = "select * from score";
        OleDbDataAdapter MyAdapter = new OleDbDataAdapter(strsel, Myconn);
        DataSet ds=new DataSet();
        MyAdapter.Fill(ds, "score");

        return ds.Tables["score"].DefaultView;
    }
    public void BindGrid()
    {
        DataView dv = (DataView)Createtable();
        dv.Sort = (string)ViewState["SortField"]+" DESC";
        score.DataSource = dv;
        score.DataBind();
    }
    public void DataGrid_Sort(Object Sender, DataGridSortCommandEventArgs e)
    {
        ViewState["SortField"] = (string)e.SortExpression;
        BindGrid();
    }
</script>
    <title>DataGridSort</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:DataGrid ID="score" AutoGenerateColumns=false HeaderStyle-BackColor=ActiveCaption AlternatingItemStyle-BackColor=AliceBlue AllowSorting=true OnSortCommand="DataGrid_Sort" runat=server>
    <Columns>
    <asp:BoundColumn HeaderText="Name" DataField="s_Name" SortExpression="s_Name" ReadOnly=true/>
    <asp:BoundColumn HeaderText="Math" DataField="s_Math" SortExpression="s_Math"/>
    <asp:BoundColumn HeaderText="English" DataField="s_English" SortExpression="s_English"/>
    <asp:BoundColumn HeaderText="Chinese" DataField="s_Chinese" SortExpression="s_Chinese"/>
   
    </Columns>
    </asp:DataGrid>  
    </div>
    </form>
</body>
</html>

Repeater控件

Repeater控件的五种模板:HeaderTemplate,ItemTemplate,AlternatingItemTemplate,SeparatorTemplate,FooterTemplate

Repeater控件的代码

<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<!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>
<style type="text/css" class="1">
<!–
a:link { text-decoration: none}
a:active { text-decoration: none }
a:visited { text-decoration: none }
–>
</style>

<script language="c#" runat="server">
public void Page_Load(Object src,EventArgs e)
{
string Myconnstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+".\\data\\score.mdb;";
OleDbConnection Myconn=new OleDbConnection(Myconnstring);
Myconn.Open();

string strsel="select * from score";
OleDbDataAdapter MyAdapter=new OleDbDataAdapter(strsel,Myconn);
DataSet ds=new DataSet();
MyAdapter.Fill(ds,"score");
score.DataSource=ds;
score.DataMember="score";
score.DataBind();
}

</script>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>DataGrid</title>
</head>
<body>
<form id="Form1" runat="server">
<asp:Repeater id="score" runat="server">
<HeaderTemplate>
This is Header<br>
</HeaderTemplate>
<ItemTemplate>
Name:<%# DataBinder.Eval(Container.DataItem,"s_Name")%><br>
Chinese:Name:<%# DataBinder.Eval(Container.DataItem,"s_Chinese")%><br>
</ItemTemplate>
<AlternatingItemTemplate>
Name:<font color=red><%# DataBinder.Eval(Container.DataItem,"s_Name")%></font><br>
Chinese:Name:<font color=red><%# DataBinder.Eval(Container.DataItem,"s_Chinese")%></font><br>
</AlternatingItemTemplate>
<SeparatorTemplate>
<hr>
</SeparatorTemplate>
<FooterTemplate>
This is Footer
</FooterTemplate>

</asp:Repeater>
</form>
</body>
<html>

</html>

Tags:

20 Jun 07 我们的祖国是花园

在报纸上看到两篇报道

1.杭萧钢构信息披露舞弊案有了结果。两个人被抓了,一个是2004年刚进公司,目前负责信息披露的“管理人员”,一个是“某娱乐城”经理。

怎么看,怎么八竿子打不着。只能说这俩哥们倒霉,不过,也许,可能一笔丰厚的“抚恤金”是要的。

2.韩国富豪打人,最少3年监禁。富豪儿子在酒吧跟人发生口角,进而肢体“碰撞”,富豪老爸带了一群保镖,把酒吧几个服务生带出扁了一通。

最少3年监禁!

换个环境呢?

舞弊的杭萧放到韩国——被抓的也许就是八竿子打的着的人

打人的富豪移民中国——公安同志都是兄弟,一顿饭的事情

Tags:

19 Jun 07 Asp.net Study(10)

DataGrid 控件

用到的DataGrid属性:OnEditCommand,OnUpdateCommand,OnCancelCommand

4.EditCommandColumn

用到的属性:HeaderText,EditText,CancelText,UpdateText,ButtonType

注意:在定义return ds.Tables["score"].DefaultView表名的时候,一定要和数据库所使用表名一致。在不一直的情况下,Edit和Cancel函数可以正常执行,但在执行Update函数时会出错。

今天的代码:

<%@ Page Language=”C#” ContentType=”text/html” ResponseEncoding=”gb2312″ %>
<%@ Import Namespace=”System.Data” %>
<%@ Import Namespace=”System.Data.OleDb” %>

<!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”>
<script runat=server>
OleDbConnection Myconn;
public void Page_Load(Object sender, EventArgs e)
{
// 连接语句
string Myconnstring = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” + Server.MapPath(”.”) + “..\\data\\score.mdb;”;
Myconn = new OleDbConnection(Myconnstring);
Myconn.Open();

if (!Page.IsPostBack)
{
BindGrid();
}

}

//创建当前数据的默认视图
ICollection CreateTable()
{
string strsel = “select * from score”;
OleDbDataAdapter MyAdapter = new OleDbDataAdapter(strsel, Myconn);
DataSet ds = new DataSet();
MyAdapter.Fill(ds, “score”);
return ds.Tables["score"].DefaultView;
}
public void BindGrid()
{
score.DataSource = CreateTable();
score.DataBind();
}

//处理Edit命令
public void DataGrid_EditCommand(Object sender, DataGridCommandEventArgs e)
{
score.EditItemIndex = (int)e.Item.ItemIndex;
BindGrid();
}

//处理Cancel命令
public void DataGird_CancelCommand(Object sender, DataGridCommandEventArgs e)
{
score.EditItemIndex = -1;
BindGrid();
}

//处理Update命令
public void DataGrid_UpdateCommand(Object sender, DataGridCommandEventArgs e)
{
//取得已更新数据
string strname = e.Item.Cells[1].Text;
int intmath = Int32.Parse(((TextBox)e.Item.Cells[2].Controls[0]).Text);
int intenglish = Int32.Parse(((TextBox)e.Item.Cells[3].Controls[0]).Text);
int intchinese = Int32.Parse(((TextBox)e.Item.Cells[4].Controls[0]).Text);

//更新数据库
string strupdate=”Update score set s_Math=”+intmath+”,s_English=”+intenglish+”,s_Chinese=”+intchinese+” Where s_name=’”+strname+”‘”;
OleDbCommand Mycommand = new OleDbCommand(strupdate, Myconn);
Mycommand.ExecuteNonQuery();

score.EditItemIndex = -1;
BindGrid();
}
</script>
<title>EditCommandColumn</title>
</head>
<body>
<form id=”form1″ runat=”server”>
<div>
<asp:DataGrid ID=”score” runat=server HeaderStyle-BackColor=”#aaaadd” AlternatingItemStyle-BackColor=”#addeae” AutoGenerateColumns=false OnEditCommand=”DataGrid_EditCommand” OnCancelCommand=”DataGird_CancelCommand” OnUpdateCommand=”DataGrid_UpdateCommand”>
<Columns>
<asp:EditCommandColumn HeaderText=”Play area” EditText=”Edit” CancelText=”Cancel” UpdateText=”Update” ButtonType=”PushButton”/>
<asp:BoundColumn HeaderText=”Name” DataField=”s_name” ReadOnly=true/>
<asp:BoundColumn HeaderText=”Math” DataField=”s_Math”/>
<asp:BoundColumn HeaderText=”English” DataField=”s_English”/>
<asp:BoundColumn HeaderText=”Chinese” DataField=”s_Chinese”/>
</Columns>
</asp:DataGrid>
</div>
</form>
</body>
</html>
</html>

Tags:

19 Jun 07 Asp.net Study(11)

DataGrid 控件

用到的属性:AllowPaging,PageSize,OnPageIndexChanged

5.用DataGrid控件进行分页

注意:不是所有的控件都可以进行DataBind(),在使用DataBind之前先用ICollection函数创建默认视图,然后再进行DataBind()
声明OleDbConnection变量位全局变量

今天的代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataGridPageIndex.aspx.cs" Inherits="DataGridPageIndex" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<!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">
<script runat=server>
    OleDbConnection Myconn;
    public void Page_Load(Object src, EventArgs e)
    {
        string Myconnstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(".") + "..\\data\\score.mdb;";
        Myconn = new OleDbConnection(Myconnstring);
        Myconn.Open();
        if (!Page.IsPostBack)
        {
            DataBind();
        }
    }
   
    ICollection CreateTable()
    {
        string strsel = "select * from score";
        OleDbDataAdapter MyAdapter = new OleDbDataAdapter(strsel, Myconn);
        DataSet ds = new DataSet();
        MyAdapter.Fill(ds, "score");
        return ds.Tables["score"].DefaultView;
    }
    public void DataBind()
    {
        score.DataSource = CreateTable();
        score.DataBind();
   
    }
    public void DataGrid_PageChanged(Object sender, DataGridPageChangedEventArgs e)
    {
        score.CurrentPageIndex = e.NewPageIndex;
        DataBind();
    }
</script>
    <title>DataGridPageIndex</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:DataGrid
    HeaderStyle-BackColor=Aqua
    AlternatingItemStyle-BackColor=AliceBlue
    ID="score"
    AutoGenerateColumns=true
    runat=server
    AllowPaging=true PageSize="3"
    OnPageIndexChanged="DataGrid_PageChanged">
   
    </asp:DataGrid>
    </div>
    </form>
</body>
</html>
</html>

Tags:

18 Jun 07 GoogleReader的两个问题

1. 已经阅读过的条目,为什么还是出现在Home->New里边

在公司的时候明明已经看完了“横戈”的Blog(用GoogleReader进行的阅读),为什么回到家里在打开reader已经读过的blog还是显示在New里边?

单也不完全是这样,其他的一些blog,却没有这样的问题,何故?不知是GoogleReader的问题,还是Blogbus的feed问题。

2. 在GoogleReader的Home界面中点击阅读目录下更多新文章的链接(如图),然后再使用浏览器返回按钮FireFox会直接返回到FireFox起始页,IE会直接返回到GoogleReader登录界面,使用起来感觉很不爽。

Tags:

16 Jun 07 Asp.net study(9)

DataGrid 控件 (学习DataGrid Column 的5种类型)

用到的DataGrid属性:id,runat,HeaderStyle-BackColor,AlternatingItemStyle-BackColor,AutoGenerateColumns,OnItemCommand

1.BoundColumn
用到的属性:DataField,HeaderText

2.HyperLinkColumn
用到的属性:HeaderText,DataTextField,DataNavigateUrlField,DataNavigateUrlFormatString

3.ButtonColumn
用到的属性:HeaderText,Text,ButtonType
ButtonType在使用的过程中出现了问题,当设置ButtonType=PushButton时调试出错:System.ArgumentException: 回发或回调参数无效
(明天再研究)

今天的代码

<%@ Page Language=”C#” ContentType=”text/html” ResponseEncoding=”gb2312″ %>
<%@ Import Namespace=”System.Data” %>
<%@ Import Namespace=”System.Data.OleDb” %>
<!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>
<script language=”c#” runat=”server”>
public void Page_Load(Object src,EventArgs e)
{
string Myconnstring=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=”+Server.MapPath(”.”)+”.\\data\\score.mdb;”;
OleDbConnection Myconn=new OleDbConnection(Myconnstring);
Myconn.Open();

string strsel=”select * from score”;
OleDbDataAdapter MyAdapter=new OleDbDataAdapter(strsel,Myconn);
DataSet ds=new DataSet();
MyAdapter.Fill(ds,”table1″);
score.DataSource=ds;
score.DataMember=”table1″;
score.DataBind();
}
public void DataGrid_ItemCommand(Object sender,DataGridCommandEventArgs e)
{
TableRow tr=e.Item;
lblname.Text=tr.Cells[1].Text;
lblmath.Text=tr.Cells[2].Text;
lblenglish.Text=tr.Cells[3].Text;
lblchinese.Text=tr.Cells[4].Text;
}
</script>
<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ />
<title>DataGrid</title>
</head>
<body>
<table>
<tr>
<td>
<form runat=”server” action=”BoundColumn.aspx” method=”get”>
<asp:DataGrid id=”score” runat=”server”
HeaderStyle-BackColor=”#666666″
AlternatingItemStyle-BackColor=”#99CC00″
AutoGenerateColumns=”false”
OnItemCommand=”DataGrid_ItemCommand”
>
<Columns>
<asp:ButtonColumn HeaderText=”Play area” Text=”Show details” ButtonType=”PushButton” />
<asp:HyperLinkColumn HeaderText =”Name” DataTextField=”s_Name” DataNavigateUrlField=”s_Name” DataNavigateUrlFormatString=”boundcolumn.aspx?name={0}”/>
<asp:BoundColumn DataField=”s_Math” HeaderText=”Math Score”/>
<asp:BoundColumn DataField=”s_English” HeaderText=”English Score”/>
<asp:BoundColumn DataField=”s_Chinese” HeaderText=”Chinese Score”/>
</Columns>
</asp:DataGrid>
</form>
</td>
<td valign=”top”>
<table>
<tr><td>Chosed name</td><td><asp:Label ID=”lblname” runat=”server”/></td></tr>
<tr><td>Math</td><td><asp:Label ID=”lblmath” runat=”server”/></td></tr>
<tr><td>English</td><td><asp:Label ID=”lblenglish” runat=”server”/></td></tr>
<tr><td>Chinese</td><td><asp:Label ID=”lblchinese” runat=”server”/></td></tr>
<td>
</table>
</tr>
</table>
</body>
</html>

Tags: