最近在公司做关于新闻后台系统 用到了GRIDVIEW与DETAILSVIEW之间的配合技术
至于GRIDVIEW与DETAILSVIEW的相关技术我也不详细说了其他人 BLOG里面已经说的很详细了,
我只说说我的心得呵呵(一个新人,实习生还没毕业,别笑话我,只是想让其他新人参与一下呵呵,希望新人以后多多来这里做客)


一:在GRIDVIEW里面删除出现提示是否删除(确认提示框)


解决方法: 首先在.ASPX.CS页写入事件

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {

        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Cells[7].Attributes.Add("onclick", "return confirm('你确认要删除吗?')");

        }

    }


然后在.ASPX设计页的代码中写入事件启动(在GRIDVIEW里写)


<asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333"
                GridLines="None" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataSourceID="CenterListSqlSource" Width="808px" DataKeyNames="ID" OnSelectedIndexChanged="GridView1_SelectedIndexChanged"  OnRowDataBound="GridView1_RowDataBound" >
                <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White"  />


注意:红色字体部分为必须添加的事件启动!

OK 这样就成功了

二:在DETAILSVIEW里面的模版列里放入DROPDOWNLIST实现数据更新
   比如我在修改DETAILSVIEW里的数据的时候 某行是一个DROPDOWNLIST,想实现的就是当修改DETAILSVIEW的内容的时候,某行不用手写 而是选择DROPDOWNLIST.进行修改.

解决办法: 在提交或者PAGE_LOAD事件里写

                     DropDownList list_status = (DropDownList)DetailsView1.FindControl("DropDownList1");
                         //  DropDownList1  是DropDownList的ID
                        然后用
                     string   get_value=   list_status .SelectedValue
                       取得当前DropDownList的选择项的值
                        然后
                      数据源.UPDATECOMMAND或INSERTCOMMAND ="SQL语句";
                     比如:
数据源.InsertCommand = "INSERT INTO [Centers] ([CorpID], [Title], [WhenCreate],  [VisitCount]) VALUES (  "+get_value+"  , @Title, getdate(), 0)";

     三:关于gridview与detailsview相关联问题

解决办法:双击gridview 就会自动跳转到ASPX.CS页的GridView的SelectedIndexChanged事件函数里面
在里面写

 this.DetailsView1.PageIndex = this.GridView1.SelectedIndex;

//GridView1与DetailsView1都是相应的GridView与DetailsView的  ID




我是ASP.NET新人  写的不怎么好 希望不要XXX我 ,只是希望新人多多交流 谢谢!