3

radAutoCompleteBox があり、Text プロパティを取得できますが、ID が必要です。

私の AppData.cs メソッド:

public IEnumerable<Company> GetAllCompanies()
    {
        _companyRepository = new CompanyRepository();
        return _companyRepository.GetAll();
    }

.aspx ファイルの私の InsertTemplate:

<telerik:RadAutoCompleteBox ID="acCompany" runat="server" EmptyMessage="Empresas..." AllowCustomEntry="False" RenderMode="Lightweight"      DataSourceID="CompanyObjectDataSource"  DataTextField="TradeName"  DataValueField="IDCompany"    />

そして、.aspx ファイルの私の DataSource:

asp:ObjectDataSource ID="CompanyObjectDataSource" runat="サーバー" SelectMethod="GetAllCompanies" TypeName="Apontamento.DataSource"

そして私の.csファイル:

protected void radGrid1_OnInsertCommand(object sender, GridCommandEventArgs e)
    {
        var item = e.Item as GridEditFormItem;
        var company = (item.FindControl("acCompany") as RadAutoCompleteBox).Text;
        var idCompany = (item.FindControl("acCompany") as     RadAutoCompleteBox).DataValueField;
    }

だから、私はidCompanyを機能させることができません。ID の実際の値ではなく、常に文字列値「IDCompany」を返します。

何か案は?

ありがとう!

4

2 に答える 2

0

RadControls for ASP.NET AJAX Documentationから、次のようにEntryAddedイベントを処理する必要があるようです。

protected void RadAutoCompleteBox1_EntryAdded(object sender, AutoCompleteEntryEventArgs e)
{
    // Label1 is made up here just for example's sake
    // e.Entry.Text will give you the name selected
    // e.Entry.Value will give you the ID selected
    Label1.Text = e.Entry.Value + " was added.";
}
于 2013-06-28T18:22:03.097 に答える