- 浏览: 897804 次
- 性别:
- 来自: 青岛
文章分类
最新评论
-
chienchia:
请问下,第4步,vpn做了什么使数据包发送到真实网卡,而不会再 ...
如何使用Android系统自带的VPN服务框架 -
fangyafenqidai:
我只要选第二个就可以呢,怒需要选第一个。之后不会有啥问题。正常 ...
Android Studio 超级简单的打包生成apk -
michaelye1988:
不错,很棒!
getcachedir和getexternalcachedir的区别 -
whlei01:
文章棒棒哒
常用的AS3代码 -
whlei01:
很不错 之前打开及时600M的内存 ,现在打开只有300兆了 ...
flash builder内存不够的解决办法
引用
有的时候我们需要
(1)在编辑的时候用下拉框选择,并且默认为数据库的内容
(2)使用下拉框过滤数据
(3)使用css统一定制DataGrid
下面给出代码:
数据结构:
表dep:depid(标识主键),depname(学院名字)
表stu:stuid(标识主键),stuname(学生名字),studepid(学院id=表dep.depid)
前台:
<%@ Page language="c#" Codebehind="WebForm28.aspx.cs" AutoEventWireup="false" Inherits="csdn.WebForm28" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>WebForm28</title> <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <link href="css.css" rel="stylesheet" type="text/css"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body> <form id="Form1" method="post" runat="server"> <asp:DropDownList id="DropDownList1" runat="server" AutoPostBack="True"></asp:DropDownList> <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" CellSpacing="1" BorderWidth="0px" CellPadding="5" CssClass="border" OnEditCommand="edit" OnCancelCommand="cancel" OnUpdateCommand="update" DataKeyField="stuid"> <ItemStyle CssClass="item"></ItemStyle> <HeaderStyle CssClass="header"></HeaderStyle> <Columns> <asp:TemplateColumn HeaderText="姓名"> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem,"stuname") %> </ItemTemplate> <EditItemTemplate> <asp:TextBox id="name" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"stuname") %>' Width="88px"> </asp:TextBox> </EditItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="学院"> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem,"depname") %> </ItemTemplate> <EditItemTemplate> <asp:DropDownList ID="dep" Runat="server"></asp:DropDownList> </EditItemTemplate> </asp:TemplateColumn> <asp:EditCommandColumn ButtonType="PushButton" UpdateText="更新" CancelText="取消" EditText="编辑"></asp:EditCommandColumn> </Columns> </asp:DataGrid> </form> </body> </HTML>
后台:
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace csdn { /// <summary> /// WebForm28 的摘要说明。 /// </summary> public class WebForm28 : System.Web.UI.Page { protected System.Web.UI.WebControls.DropDownList DropDownList1; protected System.Web.UI.WebControls.DataGrid DataGrid1; private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 if(!IsPostBack) { SetBind(); SetBind2(); } } protected void SetBind() { SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]); SqlDataAdapter da=new SqlDataAdapter("select * from stu,dep where stu.studepid=dep.depid",conn); DataSet ds=new DataSet(); da.Fill(ds,"table1"); this.DataGrid1.DataSource=ds.Tables["table1"]; this.DataGrid1.DataBind(); } protected void SetBind2() { SqlConnection conn2=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]); SqlDataAdapter da2=new SqlDataAdapter("select * from dep",conn2); DataSet ds2=new DataSet(); da2.Fill(ds2,"table1"); this.DropDownList1.DataSource=ds2.Tables["table1"]; this.DropDownList1.DataTextField="depname"; this.DropDownList1.DataValueField="depid"; this.DropDownList1.DataBind(); this.DropDownList1.Items.Insert(0,new ListItem("请选择","")); } protected void SetBind3() { string s=this.DropDownList1.SelectedValue; SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]); SqlCommand comm=new SqlCommand(); comm.Connection=conn; if(s!="") { comm.CommandText="select * from stu,dep where stu.studepid=dep.depid and depid=@depid"; SqlParameter parm1=new SqlParameter("@depid",SqlDbType.Int); parm1.Value=s; comm.Parameters.Add(parm1); } else comm.CommandText="select * from stu,dep where stu.studepid=dep.depid"; SqlDataAdapter da=new SqlDataAdapter(); da.SelectCommand=comm; DataSet ds=new DataSet(); da.Fill(ds,"table1"); this.DataGrid1.DataSource=ds.Tables["table1"]; this.DataGrid1.DataBind(); } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound); this.DropDownList1.SelectedIndexChanged += new System.EventHandler(this.DropDownList1_SelectedIndexChanged); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]); SqlDataAdapter da=new SqlDataAdapter("select * from dep",conn); DataSet ds=new DataSet(); da.Fill(ds,"table1"); if(e.Item.ItemType==ListItemType.EditItem) { DropDownList ddl=(DropDownList)e.Item.FindControl("dep"); ddl.DataSource=ds.Tables["table1"]; ddl.DataTextField="depname"; ddl.DataValueField="depid"; ddl.DataBind(); ddl.Items.FindByValue(Convert.ToString(DataBinder.Eval(e.Item.DataItem,"depid"))).Selected=true; //选择数据库内的作为默认 } } protected void edit(object sender,DataGridCommandEventArgs e) { this.DataGrid1.EditItemIndex=e.Item.ItemIndex; if(this.DropDownList1.SelectedValue=="") SetBind(); else SetBind3(); } protected void cancel(object sender,DataGridCommandEventArgs e) { this.DataGrid1.EditItemIndex=-1; if(this.DropDownList1.SelectedValue=="") SetBind(); else SetBind3(); } protected void update(object sender,DataGridCommandEventArgs e) { if(e.Item.ItemType==ListItemType.EditItem)//只有在编辑按下以后才能提交 { SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]); SqlCommand comm=new SqlCommand("update stu set stuname=@name,studepid=@depid where stuid=@id",conn); SqlParameter parm1=new SqlParameter("@name",SqlDbType.NVarChar,50); parm1.Value=((TextBox)e.Item.FindControl("name")).Text; SqlParameter parm2=new SqlParameter("@depid",SqlDbType.Int); parm2.Value=((DropDownList)e.Item.FindControl("dep")).SelectedValue; SqlParameter parm3=new SqlParameter("@id",SqlDbType.Int); parm3.Value=this.DataGrid1.DataKeys[e.Item.ItemIndex]; comm.Parameters.Add(parm1); comm.Parameters.Add(parm2); comm.Parameters.Add(parm3); conn.Open(); comm.ExecuteNonQuery(); conn.Close(); this.DataGrid1.EditItemIndex=-1; if(this.DropDownList1.SelectedValue=="") SetBind(); else SetBind3();//如果选择过滤则使用SetBind3() } } private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e) { SetBind3(); } } } css: .border { background-color: #00496C; } .header { font-family: "宋体", sans-serif; font-size: 10pt; font-weight: bold; color: #FFFFFF; background-color: #0080C0; text-align: center; } .item { font-family: "宋体", sans-serif; font-size: 9pt; font-weight: normal; color: #0080C0; background-color: #FFFFFF; text-align: center; }
代码比较简单,下面简单说明一下:
(1)SetBind()是基本的绑定;SetBind2()是绑定外面的那个DropDownList;SetBind3()是在下拉框选择了以后过滤后的DataGrid的绑定
(2)这里使用Css来实现表格边框是利用CellSpacing,所以这个数值就是边框的宽度,在表格边框的css中使用background-color来描述边框的颜色。
发表评论
-
Request、Request.Form和Request.QueryString的区别
2012-08-13 14:46 1333Request、Request.Form和Request.Q ... -
大型软件公司.net面试题!一定得看(附答案)
2010-01-14 14:23 1664引用 1、答案 a=a+b; b=a-b; a=a ... -
.net面试整试题及参考答案【转】
2010-01-14 14:01 2301引用 一、ADO 与ADO.NET两 ... -
最新的.Net面试题及答案
2010-01-14 13:52 4191引用 最新的.Net面试题及答案 1.a=10,b=15,在不 ... -
NET面试题集
2010-01-12 16:48 2340引用 NET面试题集2009-08-2 ... -
如何记住密码?
2010-01-11 17:00 1284封装一个类,里面两个方法,一个是写,一个是读,直接调用即可 ... -
怎样在GridView中的DropDownList选项改变的时候获取GridView中的DataKeys.Value的二种方法:
2010-01-10 19:41 3445【1】 <asp:GridView ID="G ... -
Gridview中用删除一行的问题
2010-01-10 19:39 1629html代码如下: <asp:templatefie ... -
通过Visual studio 2005 中的web.sitemap实现OUTLOOK风格的系统菜单
2010-01-10 18:26 2062Visual Studio 开发工具提供的一些功能让开发变得更 ... -
ListView控件(一)--增,删,改,查
2010-01-10 18:13 3430ASP.NET3.5中包含了新的数据绑定控件--ListVie ... -
Repeater分页
2010-01-10 18:06 2474private void Page_Load(ob ... -
单击头模板中的checkbox,实现datalist中所有chebox的全选和取消
2010-01-10 17:48 1846使用C#和javascript都可以实现,第二种更好一些, ... -
GridView 如何获取当前行的索引值
2010-01-10 16:10 7197引用 在用GridView控件时,我们经常会碰到获取当前行的索 ... -
[ASP] asp日期函数大全
2010-01-09 16:18 27821. Now 传回系统的日期及 ... -
ASP.net随机数应用实例
2010-01-09 16:15 1058大家可能都用过Chinaren的校友录,不久前它的留言簿上加 ... -
3种方式遍历Repeater中的CheckBox全选
2010-01-09 16:14 1753方式1 引用 1 foreach (Control c in ... -
[ASP.NET2.0]Repeater C# 分页用法
2010-01-09 16:03 2840二、Web.config配置 1 <ap ... -
(摘抄)为什么设置了DropDownList的AutoPostBack="True"还是不能触发SelectedIndexChanged事件?
2010-01-09 16:01 4255曾经遇到过这个问题,后来在LoveCherry的博客中找到了更 ...
相关推荐
6. **样式和外观定制**:展示如何通过CSS样式和皮肤文件来改变DataGrid的外观,使其更好地融入网站设计。 7. **数据操作的异常处理**:讨论在处理用户输入或数据库操作时可能出现的问题,以及如何优雅地处理这些...
不好意思,压缩包中的__doPostBack事件绑定有误,现在改正了,并且加入了ie不支持max-height css属性的纠正,并且前一压缩包没把用到的数据源DB.xml包含进去。 非常抱歉,但是好像不能覆盖原来的文件,故重发一个...
使用方法: 引入: add silvergreen-2.1.swc to libs 使用(SWC方案): 在IDE(如:Flash Builder)里面,增加一个编译参数: -theme ../libs/silvergreen-2.0.swc 使用(fx:Style方案): 1、copy ...
37.如何使用CSS文件定义控件的样式 38.如何启用和禁用ViewState保存状态信息的功能 39.如何应用IsPostBack控制页面的加载 41.如何使用Trace对象进行跟踪调试(页面级) 42.如何使用#Include语法将文件添加到页面 ...
DataGrid控件中的每一行通常是一个DataGridItem,而每个单元格可能包含不同的控件,比如TextBox、CheckBox、CheckBoxList、RadioButtonList和DropDownList等。这些子控件都可能包含需要访问的数据。 在给定的文件...
如何实现DataGrid控件中DropDownList控件的联动 131.DataGrid控件使用综合举例 第7章 数据绑定技术 132.如何单值绑定到控件的属性 133.如何将DataTable绑定到DataGrid Web控件 134.如何将...
15. **DropDownList和CSS**:此控件用于下拉选择,配合CSS可以实现样式定制,提升用户界面的美观度。 16. **代码编写**:遵循详细设计并遵守编码规范,如使用帕斯卡、匈牙利、骆驼命名法,是保证代码质量的关键。 ...
在这个购物网站中,可能会用到DataGrid来展示商品列表,使用TextBox和DropDownList接收用户输入,Button控件则用于触发购买操作。 4. **数据访问层(DAL)** 为了存储和检索商品信息,项目很可能使用了数据库。ASP...
在DataGrid或GridView的行被单击时,可以通过修改CSS样式来改变行的背景色和文字颜色,增强界面的视觉效果。 以上实践不仅体现了ASP.NET框架下Web开发的基本技巧,还展示了如何利用C#与JavaScript结合,实现更高级...
至于压缩包中的"**kendoui.for.jquery.2019.3.1023.commercial.msi**"文件,这通常是一个Windows安装程序,用于在开发环境中安装Kendo UI for jQuery的完整库,包括必要的CSS样式、JavaScript文件以及示例和文档。...
在《面向Web应用程序设计》这门课程中,...以上是Web应用程序设计中的关键知识点,涵盖了控件使用、数据管理、状态维护、验证机制以及用户交互等多个方面,这些都是构建高效、用户友好的Web应用所必需掌握的基础知识。
**ADO.NET连接数据库**:ADO.NET提供了与SQL Server交互的接口,包括使用Connection对象建立连接,Command对象执行SQL命令,以及使用DataAdapter和DataSet进行数据填充和更新。\n\n5. **服务器控件**:TextBox、...
- 数据控件:如DropDownList和DataGrid控件,这些是***中用于数据绑定和展示的常用控件。 5. 网站安全性考虑 在网站设计和部署过程中,安全性是一个重要的考虑点。尽管文档没有直接提到,但在实际开发个人网站时...
6. **表控件**:如`DataGrid`和`GridView`,它们用于展示表格数据,支持排序、分页和编辑功能。`Table`控件则允许手动创建和操作HTML表格。 在实验教学中,你可能会通过编写代码或使用Visual Studio IDE来实践这些...
7. **用户体验**:除了后端逻辑,也要考虑前端的用户体验,比如课程表的布局、样式以及交互反馈,这可能需要用到CSS和JavaScript来实现。 8. **错误处理**:为了确保程序的健壮性,你需要考虑错误处理,例如当用户...
- **CSS样式**:用于定义控件的外观,可以使用`CssClass`属性指定样式类。 - **皮肤(Skin)**:允许对一组控件定义统一的外观,便于整个应用程序的UI一致性。 6. **控件的异步处理**: - **UpdatePanel**:实现...
以上内容概述了ASP.NET中的一些实用代码技巧,包括如何在新窗口中打开页面、为按钮添加确认对话框、删除表格中的记录以及改变表格行的颜色等。这些技巧可以帮助开发者快速构建功能丰富的Web应用。
- **功能描述**:Style 控件用于定义CSS样式,可以应用于其他控件。 - **应用场景**:用于统一页面或控件的样式风格。 ##### 24. Table (表格) - **功能描述**:Table 控件用于创建表格布局。 - **应用场景**:用于...
从给定的ASP.NET代码片段中,我们可以提炼出多个实用且经典的编程技巧,涉及网页交互、数据处理和用户界面优化等方面。以下是对这些知识点的详细解释: ### 打开新窗口并传送参数 代码示例展示了如何在ASP.NET中...