首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向RadGrid编辑添加RadComboBox

向RadGrid编辑添加RadComboBox
EN

Stack Overflow用户
提问于 2009-08-13 20:41:36
回答 2查看 12.6K关注 0票数 2

我已经添加了一个RadControl,RadGrid,并且我需要在编辑模式中添加一个radComboBox。

当用户单击radComboBox时,我需要获取radComboBox的“文本”和“值”,以便在用户更新值时保存到表中。

代码语言:javascript
复制
<telerik:RadComboBox ID="RadComboBox1" Runat="server" 
             DataSourceID="SqlDataSource1" DataTextField="docCategoryName" 
             DataValueField="docCategoryID" Height="200px" Skin="Vista">

当用户从radComboBox中进行选择时,我需要将DataTextField & DataValueField的值放入HiddenField中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-24 22:01:27

Program.X所描述的方法非常好。当然,如果您在RadGrid中的GridTemplateColumn中使用RadCombobox,则可以使用此方法。

RadGrid还提供了一个内置的GridDropDownColumn,可以在编辑过程中自动呈现RadCombobox。如果选择使用内置列类型,则需要以编程方式为呈现的RadGrid设置客户端事件处理程序,如下所示:

代码语言:javascript
复制
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“是页面上用于处理RadCombobox事件的客户端JavaScript函数的名称。

这两种方法中的任何一种都可以让你实现你的目标。

票数 1
EN

Stack Overflow用户

发布于 2009-08-13 21:00:34

Telerik是最好的帮助你的人,但从他们的网站(和记忆):

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

如果你有你的radCombo:

代码语言:javascript
复制
<telerik:RadComboBox
 ID="RadComboBox1"
 runat="server"
 OnClientSelectedIndexChanged="OnClientSelectedIndexChanged">
</telerik:RadComboBox> 

使用您的JS事件:

代码语言:javascript
复制
<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是隐藏字段的ID。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1274452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档