我从数据库中读取网站添加到listbox中,这些网站是分星级的,我想要实现比如五星级跟四星级网站分隔开来,用一行空格或者横线什么的分离开就可以了,我不知道如何实现,以下是代码,希望高手指点下(winform):
            if (m_selectweb == 0)
            {
                listBox1.Items.Clear();
                listBox2.Items.Clear();
                string sql;
                sql = "select domain,[name], xingji from websites where (Isprivate = 0 or domain in (select domain from DianPrivateWeb where did in (select did from members where pkid=" + UserInfo.pkid.ToString() + ") )) and city='" + UserInfo.city + "' and domain not in (select domain from logininfo where mid=" + UserInfo.pkid.ToString() + " and isdel = 0) order by xingji desc";
                database.ReaderCreater rc = new database.ReaderCreater(sql);
                while (rc.Reader.Read())
                {
                    listBox1.Items.Add(rc.Reader["domain"].ToString() + " (" + rc.Reader["name"].ToString() + "    " + rc.Reader["xingji"].ToString() + "星)");                    
                }
                rc.Close();           }

解决方案 »

  1.   

    最笨的方法可以这样,别笑我笨啊
    第一,分别SELECT出不同星级的站点,
    第二,手动将数据加到listbox中。
    第三,在加入数据时每加一一个星级的SELECT结后后面加+“”,简单的说就是有多少个星级就加多少次数据,并在每个星级的数据后再加一空串。HEHEHE,笨吧。
      

  2.   

    string xingjiTemp;     //临时变量,存储前一个星级
    while   (rc.Reader.Read()) 

        listBox1.Items.Add(rc.Reader[ "domain "].ToString()   +   " ("   +   rc.Reader[ "name "].ToString()   +   "     "   +   rc.Reader[ "xingji "].ToString()   +   "星) ");     if(xingjiTemp != null && xingjiTemp != rc.Reader[ "xingji "].ToString())
        {
            listBox1.Items.Add("----------");
            xingjiTemp = rc.Reader[ "xingji "].ToString();
        }
        else if(xingjiTemp == null)
        {
            xingjiTemp = rc.Reader[ "xingji "].ToString();
        }