У меня есть два комбо и одна кнопка. Заполнение дочернего комбинированного списка на основе значения родительского комбинированного ключа. нажмите на родительское комбо, значение изменится на дочернее комбо, нажмите на кнопку, чтобы показать выбранный комбо текст. Я могу сделать это ниже в моем синтаксисе. я использую базу данных северного ветра.
<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 #
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);
}
После нажатия на родительское комбо, дочернее комбо-заполнение. Но при нажатии на кнопку всегда получается дочерний комбо-индекс = 0 значение события. Я изменяю дочернее комбо-значение. Почему бы не изменить значение в событии кнопки?
Если есть какие-либо вопросы, пожалуйста, спросите меня. Спасибо заранее.