首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >级联ASPxComboBox问题

级联ASPxComboBox问题
EN

Stack Overflow用户
提问于 2010-09-05 15:07:33
回答 1查看 2.4K关注 0票数 0

我有两个组合和一个按钮。基于父组合键值的子组合键填充。单击父组合体值将改变子组合框,单击按钮显示那些组合框选定的文本,我可以在我的合成器中这样做。我使用北风数据库。

代码语言:javascript
复制
<div>
            <dx:ASPxComboBox ID="ASPxComboBoxParent" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ASPxComboBoxParent_SelectedIndexChanged"
                TextField="ShipName" ValueField="OrderID" ValueType="System.Int32">
            </dx:ASPxComboBox>
            <dx:ASPxComboBox ID="ASPxComboBoxChild" runat="server" TextField="ProductID" ValueField="OrderID"
                ValueType="System.Int32">
            </dx:ASPxComboBox>
            <dx:ASPxButton ID="ASPxButton1" runat="server" OnClick="ASPxButton1_Click" Text="ASPxButton">
            </dx:ASPxButton>
            <dx:ASPxLabel ID="ASPxLabelMessage" runat="server">
            </dx:ASPxLabel>
        </div>

C#语法

代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                NorthwindDataContext db=new NorthwindDataContext();
                var r=from p in db.Orders
                      select p;
                ASPxComboBoxParent.DataSource = r;
                ASPxComboBoxParent.DataBind();
            }

        }

        protected void ASPxComboBoxParent_SelectedIndexChanged(object sender, EventArgs e)
        {
            NorthwindDataContext db=new NorthwindDataContext();
            int a= Convert.ToInt32( ASPxComboBoxParent.SelectedItem.Value);
            var r = from p in db.Order_Details
                    where p.OrderID == a
                    select p;

            ASPxComboBoxChild.DataSource = r;
            ASPxComboBoxChild.DataBind();
            ASPxComboBoxChild.SelectedIndex = 1;
        }

        protected void ASPxButton1_Click(object sender, EventArgs e)
        {


            ASPxLabelMessage.Text = "Parent is" + Convert.ToString(ASPxComboBoxParent.SelectedItem.Text) + "And child is" + Convert.ToString(ASPxComboBoxChild.SelectedItem.Text);
        }

单击父组合框后,子组合框填充,但单击按钮总是得到子组合键index=0值事件。我更改子组合框值。为什么不更改按钮事件上的值?如果有任何查询,请提前询问me.thanks。

EN

回答 1

Stack Overflow用户

发布于 2010-09-05 22:33:28

出现此问题是因为ASPxComboBoxChild.ValueField属性指向包含相同值的值。也就是说,当更改ASPxComboBoxParent所选索引时,ASPxComboBoxChild的Items集合中填充了值属性相同的项。由于ASPxComboBox按其值来区分项目,因此出现了问题。解决办法很简单:

代码语言:javascript
复制
<dx:ASPxComboBox ID="ASPxComboBoxChild" runat="server" TextField="ProductID" ValueField="ProductID"
                ValueType="System.Int32">
            </dx:ASPxComboBox>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3646515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档