Home  >  Article  >  Database  >  27DeveXpress中的ASPxRadioButtonList根据数据库查出来的数据默

27DeveXpress中的ASPxRadioButtonList根据数据库查出来的数据默

WBOY
WBOYOriginal
2016-06-07 15:30:121573browse

今天在用DeveXpress中的ASPxRadioButtonList的时候遇到了一个很奇怪的问题,折腾了我几个小时,现在想想还是觉得这个DeveXpress控件真的很奇怪,让人捉摸不透啊!不禁让我怀念起了微软自带的服务器控件,不过谁交DeveXpress这套控件这么强大呢,不然大家也不

       今天在用DeveXpress中的ASPxRadioButtonList的时候遇到了一个很奇怪的问题,折腾了我几个小时,现在想想还是觉得这个DeveXpress控件真的很奇怪,让人捉摸不透啊!不禁让我怀念起了微软自带的服务器控件,不过谁交DeveXpress这套控件这么强大呢,不然大家也不会都用它了,嘻嘻。

       好了,现在开始正文了……

       首先和大家说说我用之前没有成功的方法,不过这个方法我调试的时候明明看到他都执行了的,但是显示的时候就是没有选中任何一个按钮。

       看代码

       

protected void ASPxTL_Department_StartNodeEditing(object sender, TreeListNodeEditingEventArgs e)
    {
        int id = int.Parse(e.NodeKey[0].ToString());
        IList list = (sender as ASPxTreeList).DataSource as IList;
        foreach (Model.Frame.TBSYS_DEPARTMENT model in list)
        {
            if (model.F_DEPARTMENTID == id)
            {
                DepartmentModel = model;
                break;
            }
        }
        //类型
        int type = (int)DepartmentModel.F_type;

        //获取pageControl控件
        ASPxPageControl pageControl = ASPxTL_Department.FindEditFormTemplateControl("tabs") as ASPxPageControl;
        //获取到RadioButtonList控件
        ASPxRadioButtonList rbl = pageControl.TabPages[0].FindControl("ASPxrdoltType") as ASPxRadioButtonList;
        for (var i = 0; i          {
            int value = Convert.ToInt32(rbl.Items[i].Value);
            if (value == type)
            {
                rbl.SelectedItem = rbl.Items[i];
                //rbl.Items[i].Selected = true;
                break;
            }
        }
    }

这个事件是点击ASPXTreeList的编辑按钮的时候触发的,说明下,我的AspxRadioButtonList控件是在ASPXTreeList之中的哦!大家认真看过代码应该就知道了。

看到上面的代码你就知道分别用了选中按钮的两种写法,一种是用SelectedItem,另一种是将符合的项Selected = true,可惜的是,这两种都以失败而告终。

下面附上几张调试的截图

27DeveXpress中的ASPxRadioButtonList根据数据库查出来的数据默

程序调试截图1,显示的那些文字有些模糊,将就下,只是想说明这步已经将选择项设置好了。

但是下面这张图可以看到,没有选中任何一个按钮。27DeveXpress中的ASPxRadioButtonList根据数据库查出来的数据默

 

接下来,就上已经承成功执行的代码了。

 

         '  RepeatDirection="Horizontal" RepeatLayout="Flow" Border-BorderStyle="None" AutoPostBack="False">
                 
                        
                        
                        
                 

         

 

这段成功的代码主要是在AspxRadioButtonList头部加了SelectedIndex='' 这句代码,因为我数据库是从1开始的,而AspxRadioButtonList的索引是从0开始的,所以进行减1,到这里这段程序已经能够成功执行了。

运行成功的程序截图一张给大家

27DeveXpress中的ASPxRadioButtonList根据数据库查出来的数据默

所以我感叹为什么DeveXpress的控件这么让人捉摸不透,看来是一定要找到适合他的代码,不然就算你怎么努力都感觉是在无用功。所以接下来还得对它好好研究研究啊!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn