سؤال

لقد أضفت RadControl، Radgrid وأحتاج إلى إضافة راديكتمبوبوكس في وضع التحرير.

عندما ينقر المستخدم على RADCOMBOBOX، أحتاج إلى الحصول على كلا من "النص" و "قيمة" من RADCOMBOBOX للحفظ إلى جدول عند تحديث المستخدم القيم.

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

عندما يختار المستخدم من RADCOMBOBOX، أحتاج إلى الحصول على قيمة DatateXtfield & Datavaluefield في Hiddenfield.

هل كانت مفيدة؟

المحلول

النهج الذي وصفه البرامج. هذا، بالطبع، يعمل إذا كنت تستخدم 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";
    }
}

حيث "OnselEctedEdeXChanged" هو اسم وظيفة JavaScript من جانب العميل على صفحتك مصممة لمعالجة حدث RADCOMBOBOB.

أي من هذه الأساليب يجب أن تمكنك من تحقيق هدفك.

نصائح أخرى

Telerik هي أفضل الناس لمساعدتك في ذلك، ولكن من موقعهم (ومن الذاكرة):

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

إذا كان لديك رادكم مربع الخاص بك:

<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 هو معرف الحقل المخفي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top