<body>
<form id="form1" runat="server">
<div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:cons %>" SelectCommand="select distinct city from Employees"></asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:cons %>" SelectCommand="select EmployeeID,LastName,FirstName,Title,City from Employees where(City=@city)"
UpdateCommand="update Employees set LastName=@LastName,FirstName=@FirstName,Title=@Title,City=@City where(EmployeeID=@EmployeeID)">
<SelectParameters>
<asp:ControlParameter ControlID="dd1" Name="city" PropertyName="selectedValue" />
</SelectParameters>
</asp:SqlDataSource>
<asp:DropDownList ID="dd1" runat="server" DataSourceID="SqlDataSource1" DataKeyNames="EmployeeID" AutoPostBack="true" DataTextField="city" DataValueField="city"></asp:DropDownList>
<asp:GridView ID="GridView1" runat="server" DataKeyNames="EmployeeID" DataSourceID="SqlDataSource2" >
<Columns>
<asp:CommandField ShowEditButton="true" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
创建数据绑定
创建一个GridView 设置其中的主键,数据绑定资源ID设置熟悉为true显示编辑,设置下拉选框,设置id设置要名字和传递的值。
设置DataSource有参数的时候设置参数ContOLID是绑定空间,name是这个参数名字,propertyName是获取的值。
ShowDeleteButton=“true”,将按钮变成true;打开GridView删除按键。
删除的时候如果有级联,没法删除。
插入的时候GrivdView没法用(只能设置列不能设置行),要用DetailsView;
<asp:DetailsView ID=“DetailsView1” runat=“server” Height=“50px” Width=“125px” DataSourceID=“SqlDataSource2” DataKeyNames=“EmployeeID”>
<asp:CommandField ShowInsertButton=“true” />
</asp:DetailsView>
用这个select语句
没参数或者是参数必须传递;
<asp:SqlDataSource ID=“SqlDataSource2” runat=“server” ConnectionString="<%$ ConnectionStrings:cons %>"
SelectCommand="select EmployeeID,LastName,FirstName,Title,City from Employees "
UpdateCommand=“update Employees set LastName=@LastName,FirstName=@FirstName,Title=@Title,City=@City where(EmployeeID=@EmployeeID)”
InsertCommand=“insert into Employees(LastName,FirstName,Title,City)value(@LastName,@FirstName,@Title,@City)”>
</asp:SqlDataSource>