谢谢,我就是想要绑定的这个zyid字段要变成是一个可以由一个Dropdownlist控制的功能,当Dropdownlist变动时,我也想让在前台显示的绑定的数据也跟着变<%# DataBinder.Eval(Container.DataItem,"zyid") %>,zyid我想让它不是一个固定的绑定字段,而是一个可变的字段,值为Dropdownlist1.SelectedItem.Text 的值

解决方案 »

  1.   

    try
    <%@ Page Language="C#" %>
    <%@ import Namespace="System.Data" %>
    <%@ import Namespace="System.Data.SqlClient" %>
    <script runat="server">string sBoundField = "";void Page_Load(object o, EventArgs e)
    {
        if (!IsPostBack)
        {
            BindData();
        }
    }void BindData()
    {
            SqlDataAdapter da = new SqlDataAdapter("select * from authors",
                            "server=localhost;database=pubs;uid=sa;pwd=;");        DataTable dt = new DataTable ();
            da.Fill(dt);        dg.DataSource = dt.DefaultView;
            dg.DataBind();
    }void dg_ItemDatabound(object source,   DataGridItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Header)
        {
            DropDownList ddl = (DropDownList)e.Item.FindControl("ddl");
            if (sBoundField == "")
               sBoundField = ddl.SelectedItem.Value;
            else
               ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue(sBoundField));
        }    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
           e.Item.Cells[0].Text = DataBinder.Eval(e.Item.DataItem,sBoundField).ToString();
        }}void TestSelection(object sender, EventArgs e)
    {
            DropDownList ddl = (DropDownList)sender;
            sBoundField = ddl.SelectedItem.Value;        BindData();}</script>
    <html>
    <head>
    </head>
    <body>
        <form id="form1" runat="server">
            <asp:DataGrid id="dg" runat="server" OnItemDataBound="dg_ItemDatabound">
                <Columns>
                    <asp:TemplateColumn>
                        <HeaderTemplate>
                            <asp:DropDownlist id="ddl" runat="server" OnSelectedIndexChanged="TestSelection" AutoPostBack="true">
                               <asp:ListItem Text="First Name" Value="au_fname" />
                               <asp:ListItem Text="Last Name" Value="au_lname" />
                               <asp:ListItem Text="ID" Value="au_id" />
                            </asp:DropDownList>
                        </HeaderTemplate>
                        <ItemTemplate>
                          <!--data will be added later-->
                        </ItemTemplate>
                    </asp:TemplateColumn>
                </Columns>
            </asp:DataGrid>
            <asp:Button id="btn" runat="server" Text="Submit"></asp:Button>
        </form>
    </body>
    </html>
      

  2.   

    代码分离后,在我原来的基础上弄了半宿也没弄好,aspx文件 和 aspx.cs文件在下面http://www.rczx.com/bb.rar