1

我可以写代码。在这个我可以使用一个模板列&在这个我构建一个 RadCombobox。当它的索引更改时,我想影响下面的文本框。Link 将 Combo box 的选中值设置为 Text on below TextBox。组合框和文本框是不同模板列的不同控件。

我可以像这样编写组合框的控件:

<telerik:RadComboBox ID="cmbGID" runat="server" DataSourceID="SqlDataSource8" DataTextField="Name"
                        DataValueField="ID" AutoPostBack="True" OnSelectedIndexChanged="cmbGID_SelectedIndexChanged">

但我不知道这个事件的参数是这样的:

protected void cmbGID_SelectedIndexChanged()
{
       //code...
}

任何人请告诉我参数并告诉我是否可以设置 txtValue.Text = cmbGID.SelectedValue.ToString()...???

4

2 回答 2

1

我得到了这个问题的解决方案......

这是通过以下代码工作的:

protected void cmbGrp_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
    RadComboBox ddlCtrl = sender as RadComboBox;
    GridEditableItem dataItem = ddlCtrl.NamingContainer as GridEditableItem;
    RadComboBox cmbCtrl = dataItem.FindControl("cmbSetNo") as RadComboBox;
    RadTextBox txtCtrl = dataItem.FindControl("cmbSetNo") as RadTextBox;
    txtCtrl.Text = ddlctrl.SelectedValue.ToString();

    string query = "QUERY";

    ds.Clear();
    ds = c.getDataSet(query);

    cmbCtrl.DataSource = ds.Tables[0];
    cmbCtrl.DataTextField = "NO";
    cmbCtrl.DataValueField = "RecordID";
    cmbCtrl.DataBind();
}
于 2012-04-07T11:26:41.670 回答
0

像这样的东西应该工作:

protected void vmbGID_SelectedIndexChanged(object sender, EventArgs e)
{
    var ddlCtrl = sender as RadComboBox;
    if (ddlCtrl != null)
    {
        var dataItem = ddlCtrl.Parent as GridDataItem;
        if (dataItem != null)
        {
            var txtCtrl = dataItem.FindControl("txtValue") as RadTextBox;
            if (txtCtrl != null)
            {
                txtCtrl.Text = ddlCtrl.SelectedValue;
            }
        }
    }
}
于 2012-04-05T18:42:03.860 回答