2009-08-13 4 views
2

Я добавил RadControl, RadGrid, и мне нужно добавить radComboBox в режим редактирования.Добавление RadComboBox в RadGrid Редактировать

Когда пользователь нажимает на radComboBox, мне нужно получить как «текст», так и «значение» radComboBox для сохранения в таблице, когда пользователь обновляет значения.

<telerik:RadComboBox ID="RadComboBox1" Runat="server" 
      DataSourceID="SqlDataSource1" DataTextField="docCategoryName" 
      DataValueField="docCategoryID" Height="200px" Skin="Vista"> 

Когда пользователь выбирает из radComboBox, мне нужно, чтобы получить значение DataTextField & DataValueField в скрытое поле.

ответ

1

Подход, описанный в Program.X, очень хорош. Это, конечно, работает, если вы используете RadCombobox внутри GridTemplateColumn в RadGrid.

RadGrid также предоставляет встроенный GridDropDownColumn, который может автоматически отображать RadCombobox во время редактирования. Если вы решили использовать встроенный тип столбца, необходимо программно задать обработчики на стороне клиента событий для оказанной RadGrid, как это:

protected void RadGrid1_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e) 
{ 
    //Find GridEditableItems when in Edit mode 
    if (e.Item is GridEditableItem && e.Item.IsInEditMode) 
    { 
     //Get reference to item (i.e. Row) 
     var item = e.Item as GridEditableItem; 

     //Get reference to auto-generated RadCombobox in 
     //specific column (in this case, a column called Title) 
     var rcb = item["Title"].Controls[0] as RadComboBox; 
     if (rcb == null) 
      return; 

     //Customize the RadCombobox properities 
     rcb.OnClientSelectedIndexChanged = "onselectedindexchanged"; 
    } 
} 

Где «onselectedindexchanged» это имя на стороне клиента JavaScript на вашей странице, предназначенной для обработки события RadCombobox.

Любой из этих подходов должен помочь вам достичь своей цели.

1

Telerik лучшие люди, чтобы помочь вам с этим, но с их сайта (и из памяти):

http://www.telerik.com/help/aspnet-ajax/combo_clientsideonclientselectedindexchanged.html

Если у вас есть radCombo:

<telerik:RadComboBox 
ID="RadComboBox1" 
runat="server" 
OnClientSelectedIndexChanged="OnClientSelectedIndexChanged"> 
</telerik:RadComboBox> 

С вашим JS случай:

<script language="javascript" type="text/javascript"> 
function OnClientSelectedIndexChanged(sender, eventArgs) 
{ 
var item = eventArgs.get_item(); 

// get the text and value elements 
var text=item.get_text(); 
var val=item.get_value(); 

$('#hiddenField').val(val); 
} 
</script> 

Место, где hiddenField - это идентификатор скрытого f IELD.

+0

Благодарим за ответ, я проверю это. – Kush