您的位置:程序门 -> .net技术 -> c#



checkboxlist问题,各位仁兄帮忙!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


checkboxlist问题,各位仁兄帮忙![已结贴,结贴人:feizi2006]
发表于:2007-03-01 11:56:09 楼主
使用checkboxlist插入数据库以后,对数据进行更新,如何调出以前的数据,显示在checkboxlist的选项?该数据为若干个值,用逗号分开.
读出数据:
string   sortid   =   dr[ "bg_aproducts "].tostring();
以后该如何显示到checkboxlist?
发表于:2007-03-01 12:00:411楼 得分:20
string[]   arrsortid=sortid.split( ", ".tochararray());

再循环checkboxlist判断
for(int   i=0;i <arrsortid.length;i++)
{
    if(..)
    {    
        checkbox.item.checked=true;
    };
}
大概是这样
发表于:2007-03-02 09:53:062楼 得分:0
这样还是不行的,能详细一点吗?
可否举个例子,谢谢!
发表于:2007-03-02 10:11:123楼 得分:0
要满足什么条件才显示√呢?
发表于:2007-03-02 10:20:544楼 得分:0
cbl.items.add(new   listitem( "a ", "1 "));
                cbl.items.add(new   listitem( "b ",   "2 "));
                cbl.items.add(new   listitem( "c ",   "3 "));
                cbl.items.add(new   listitem( "d ",   "4 "));
                cbl.items.add(new   listitem( "e ",   "5 "));
                cbl.items.add(new   listitem( "f ",   "6 "));


        <asp:checkboxlist   id=cbl   runat=server>
        </asp:checkboxlist>

                string[]   sortid   =   "1,2,3,4,5 ".split( ", ".tochararray());//从数据库读出
                int   iindex;
                for   (int   i   =   0;   i   <   sortid.length;   i++)
                {
                        iindex   =   cbl.items.indexof(cbl.items.findbyvalue(sortid[i]));
                        if   (iindex   !=   -1)
                        {
                                cbl.items[iindex].selected   =   true;
                        }
                }
发表于:2007-03-02 13:26:465楼 得分:0
checkboxlist插入值如下:(插入数据库时各值用逗号分开)

<asp:checkboxlist   id= "bg_aproducts_list "   runat= "server "   width= "600px "   height= "70px "   font-size= "12px "
repeatcolumns= "5 "   repeatdirection= "horizontal ">
<asp:listitem   value= "17 "> a </asp:listitem>
<asp:listitem   value= "18 "> b </asp:listitem>
<asp:listitem   value= "19 "> c </asp:listitem>
<asp:listitem   value= "15 "> d </asp:listitem>
<asp:listitem   value= "16 "> e </asp:listitem>
<asp:listitem   value= "1 "> f </asp:listitem>
<asp:listitem   value= "2 "> g </asp:listitem>
<asp:listitem   value= "3 "> h </asp:listitem>
<asp:listitem   value= "4 "> i </asp:listitem>
<asp:listitem   value= "5 "> j </asp:listitem>
<asp:listitem   value= "6 "> k </asp:listitem>
<asp:listitem   value= "7 "> l </asp:listitem>
<asp:listitem   value= "8 "> m </asp:listitem>
<asp:listitem   value= "9 "> n </asp:listitem>
<asp:listitem   value= "10 "> o </asp:listitem>
<asp:listitem   value= "11 "> p </asp:listitem>
<asp:listitem   value= "12 "> q </asp:listitem>
<asp:listitem   value= "13 "> r </asp:listitem>
<asp:listitem   value= "14 "> s </asp:listitem>
<asp:listitem   value= "20 "> t </asp:listitem>
</asp:checkboxlist>


读出后:sqlconnection   conn
                .............
                  ............
                  ......

while   (dr.read())
                      {  
                            string   sortid   =   dr[ "bg_aproducts "].tostring();

      string[]   sortid1   =   "sortid ".split( ", ".tochararray());



                  int   iindex;
for   (int   i   =   0;   i   <   sortid1.length;   i++)
{
iindex   =   bg_aproducts_list.items.indexo(bg_aproducts_list.items.findbyvalue(sortid1[i]));
if   (iindex   !=   -1)
{
    bg_aproducts_list.items[iindex].selected   =   true;
}
}


还是无法显示出来,该如何改呢?
发表于:2007-03-02 13:50:106楼 得分:0
现在可以读出来了,就是值为两位数时,读出的数据出错,还是读前一位,大师帮帮忙!
发表于:2007-03-02 14:24:427楼 得分:0
例如:18,读出的时候会分为1和8两个数读出来,如何才能正确读出呢?谢谢,解决马上给分!
发表于:2007-03-02 14:32:418楼 得分:0
怎么会这样呢,数字库里的字段内容是怎样的?
发表于:2007-03-02 14:39:259楼 得分:0
up
发表于:2007-03-02 14:53:3910楼 得分:0
cbl.items.add(new   listitem( "a ",   "1 "));
                cbl.items.add(new   listitem( "b ",   "2 "));
                cbl.items.add(new   listitem( "c ",   "3 "));
                cbl.items.add(new   listitem( "d ",   "4 "));
                cbl.items.add(new   listitem( "e ",   "5 "));
                cbl.items.add(new   listitem( "f ",   "6 "));
                cbl.items.add(new   listitem( "x ",   "18 "));


                string[]   sortid   =   "1,2,3,4,5,18 ".split( ", ".tochararray());//从数据库读出
                int   iindex;
                for   (int   i   =   0;   i   <   sortid.length;   i++)
                {
                        iindex   =   cbl.items.indexof(cbl.items.findbyvalue(sortid[i]));
                        if   (iindex   !=   -1)
                        {
                                cbl.items[iindex].selected   =   true;
                        }
                }

没问题啊!
发表于:2007-03-02 15:00:5111楼 得分:0
例如:读出一个字段的值为: "1,3,13,17 "
那么我输出的时候在checkboxlist会显示:1,3,7项为打钩选取,而不是1,3,13,17这几项
就是说当为2位数时,它会把两个数分开来读,怎么搞定它?
发表于:2007-03-02 15:10:4912楼 得分:0
可以用qq或msn和你流吗?
发表于:2007-03-02 16:35:0413楼 得分:0
上班时间不方便,晚上吧!46638441


快速检索

最新资讯
热门点击