DataGrid学习三

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

上一例中静态填充选择框的值,但这不太适合那些值在数据库中会更改的情况。因为 select HtmlControl 也支持 IEnumerable DataSource 属性,可以转而使用选择查询动态填充选择框,这将保证数据库和用户界面,始终同步。下面的示例说明此过程。

<%@ Import Namespace="System.Data" %>

<%@ Import Namespace="System.Data.SqlClient" %>

<html>

<script language="C#" runat="server">

SqlConnection myConnection;

protected void Page_Load(Object Src, EventArgs E)

{

myConnection = new SqlConnection("user id=sa;password=;initial

catalog=pubs;data source=jeff");

if (!IsPostBack)

{

SqlDataAdapter myCommand = new SqlDataAdapter("select distinct

State from Authors", myConnection);

DataSet ds = new DataSet();

myCommand.Fill(ds, "States");

MySelect.DataSource= ds.Tables["States"].DefaultView;

MySelect.DataBind();

}

}

public void GetAuthors_Click(Object sender, EventArgs E)

{

String selectCmd = "select * from Authors where state =

@State";

SqlDataAdapter myCommand = new SqlDataAdapter(selectCmd,

myConnection);

myCommand.SelectCommand.Parameters.Add(new SqlParameter("@State",

SqlDbType.NVarChar, 2));

myCommand.SelectCommand.Parameters["@State"].Value = MySelect.Value;

DataSet ds = new DataSet();

myCommand.Fill(ds, "Authors");

MyDataGrid.DataSource= ds.Tables["Authors"].DefaultView;

MyDataGrid.DataBind();

}

</script>

<body style="font: 10.5pt 宋体">

<form runat="server">

<h3><font face="宋体">对 DataGrid 控件的动态参数化选择</font></h3>

选择州:

<select id="MySelect" DataTextField="State" runat="server"/>

<input type="submit" OnServerClick="GetAuthors_Click" Value="获取作者"

runat="server"/><p>

<ASP:DataGrid id="MyDataGrid" runat="server"

Width="700"

BackColor="#ccccff"

BorderColor="black"

ShowFooter="false"

CellPadding=3

CellSpacing="0"

Font-Name="宋体"

Font-Size="8pt"

HeaderStyle-BackColor="#aaaadd"

EnableViewState="false"

/>

</form>

</body>

</html>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航