最近在看ADO.NET的书,里面的其中一个例子就是通过数据绑定实现联动的。
例如有学生和成绩表,成绩.学生ID = 学生.ID。
在窗体上两个ListBox控件,一个显示学生,另一个显示成绩,绑定数据后在学生列表中选择不同的学生,成绩列表跟随显示所选学生的成绩。
如何在运行时通过数据绑定实现这种效果?希望可以详细点。

解决方案 »

  1.   


    <asp:DropDownList Width="200px" ID="ddlProperty" runat="server" DataValueField="SM_Property_ID"
                                        OnDataBound="ddlProperty_DataBound" DataTextField="SM_Property_Name" DataSourceID="odsProperty"
                                        AutoPostBack="true" OnSelectedIndexChanged="ddlProperty_SelectedIndexChanged">
                                    </asp:DropDownList>&nbsp;&nbsp;&nbsp;&nbsp;
                                    <asp:ObjectDataSource ID="odsProperty" runat="server" SelectMethod="GetSearchListNoChild"
                                        TypeName="ADOnline.Bll.BSearchMain">
                                        <SelectParameters>
                                            <asp:Parameter Type="int32" Name="plans_id" DefaultValue="0" />
                                            <asp:Parameter Type="int32" Name="state" DefaultValue="1" />
                                        </SelectParameters>
                                    </asp:ObjectDataSource>
                                    属性值选择:&nbsp;&nbsp;&nbsp;&nbsp;
                                    <asp:DropDownList Width="200px" ID="ddlProValue" runat="server" DataValueField="SC_PropertyValues_ID"
                                        DataTextField="SC_PropertyValues_Value" DataSourceID="odsProValue" OnDataBound="ddlProValue_DataBound">
                                    </asp:DropDownList>
                                    <asp:ObjectDataSource ID="odsProValue" runat="server" SelectMethod="GetSearchChildList"
                                        TypeName="ADOnline.Bll.BSearchChild">
                                        <SelectParameters>
                                            <asp:Parameter Type="int32" Name="property_id" DefaultValue="0" />
                                            <asp:Parameter Type="int32" Name="state" DefaultValue="1" />
                                        </SelectParameters>
                                    </asp:ObjectDataSource>后台: protected void ddlProperty_SelectedIndexChanged(object sender, EventArgs e)
            {
                DropDownList ddlParent = (DropDownList)sender;
                odsProValue.SelectParameters["property_id"].DefaultValue = ddlParent.SelectedValue;
            }        protected void ddlProperty_DataBound(object sender, EventArgs e)
            {
                DropDownList ddl = (DropDownList)sender;
                ddl.Items.Insert(0, new ListItem("--请选择--", "0"));
            }        protected void ddlProValue_DataBound(object sender, EventArgs e)
            {
                DropDownList ddl = (DropDownList)sender;
                ddl.Items.Insert(0, new ListItem("--请选择--", "0"));
            }