如何在gridview中的下拉列表中显示所选索引更改的值

时间:2012-12-14 11:34:53

标签: c# asp.net

我在回发后有一个下拉列表我想绑定第二个下拉列表。我得到了值但是没有显示在第二个数据中:EntityDropDownList。

 <ItemTemplate>
                                                            <data:EntityDropDownList runat="server" ID="dataServiceTypeId" Enabled="false"  DataSourceID="ServiceTypeIdServiceTypesDataSource"
                                                                DataTextField="ServiceCode" DataValueField="ServiceTypeId" SelectedValue='<%# Bind("ServiceTypeID") %>'
                                                                AppendNullItem="true" Required="true" NullItemText="< Please Choose ...>" ErrorText="Required" />
                                                            <data:ServiceTypesDataSource ID="ServiceTypeIdServiceTypesDataSource" runat="server"
                                                                SelectMethod="GetAll" />
                                                        </ItemTemplate>
                                                        <EditItemTemplate>
                                                        <data:EntityDropDownList runat="server" ID="dataServiceTypeId"  DataSourceID="ServiceTypeIdServiceTypesDataSource"  OnSelectedIndexChanged="Service_SelectChange" AutoPostBack="true" 
                                                                DataTextField="ServiceCode" DataValueField="ServiceTypeId" SelectedValue='<%# Bind("ServiceTypeID") %>'
                                                                AppendNullItem="true" Required="true" NullItemText="< Please Choose ...>" ErrorText="Required" />
                                                            <data:ServiceTypesDataSource ID="ServiceTypeIdServiceTypesDataSource" runat="server"
                                                              SelectMethod="GetAll" />

                                                        </EditItemTemplate>
                                                    </asp:TemplateField>

                                                    <asp:TemplateField HeaderText="Default">
                                                        <ItemTemplate>
                                                            <asp:CheckBox ID="chkDefault" Checked='<%# Bind("IsDefault") %>' Enabled="false"  runat="server" />
                                                        </ItemTemplate>
                                                        <EditItemTemplate>
                                                         <asp:CheckBox ID="chkDefault" Checked='<%# Bind("IsDefault") %>'    runat="server" />

                                                        </EditItemTemplate>
                                                    </asp:TemplateField>
                                                    <asp:TemplateField HeaderText="Plan">
                                                        <ItemTemplate>

                                                             <data:EntityDropDownList runat="server" ID="dataPricePlanId" Width="200px"  />
                                                        </ItemTemplate>
                                                        <EditItemTemplate>
                                                             <data:EntityDropDownList runat="server" ID="dataPricePlanId" Width="200px" AppendNullItem="true" NullItemText="< Please Choose ...>"  />

                                                        </EditItemTemplate>
                                                    </asp:TemplateField>

我的代码就是这个

 protected void Service_SelectChange(object sender, EventArgs e)
{
    dataPricePlanId.Items.Clear();

    string sValue = ((EntityDropDownList)sender).SelectedValue;

    int ServiceTypeId = Convert.ToInt32(sValue);
    TList<PricePlans> _pricePlans = _pricePlanService.GetByServiceTypeId(ServiceTypeId);
    _pricePlanService.DeepLoad(_pricePlans);
    if (_pricePlans.Count > 0)
    {
        dataPricePlanId.DataSource = _pricePlans;
        dataPricePlanId.DataTextField = "Description";
        dataPricePlanId.DataValueField = "PricePlanId";
        dataPricePlanId.DataBind();

    }
    else
    {
        dataPricePlanId.Items.Insert(0, new ListItem("No Plan For this Service", "0"));


    }
}

我得到了价值,但我的网格在第二个下拉列表中没有约束力。你能帮我么 。

1 个答案:

答案 0 :(得分:0)

尝试在itemdatabound事件中执行此操作

首先使用e.item.findcontrol(“下拉名称”)查找下拉列表。 与数据源绑定,然后设置选定的值。

感谢

相关问题