最近在公司做关于新闻后台系统 用到了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