假如dataset里有10条数据,然后进行随机排序,
dataset表
        id    name    age   
              2     sm      12
              4     jk      32
              8     ij      87
              7     ij      82
              .....
进行随机打乱顺序。

解决方案 »

  1.   

    select  *,newid() as guid from table order by guid 
      

  2.   

    强,不明白。我在做在线考试系统。把题读到了dataset中,在这想随机打乱顺序。每个用记进去题顺序是不一样的。
      

  3.   

    把每一行数据看成一个对象,然后把id做成主键,然后根据id列随机
    可以用
    SortedList<DataRow, int> sl = new SortedList<DataRow, int>();
    或者
    Hashtable h = new Hashtable();
    之类的东西
      

  4.   

    直接在sql语句里面随机排好序.
    select * from tb order by newid()
      

  5.   

    你先用sql语句先排好序在进行数据绑定就可以了
      

  6.   

    给你个思路:
    你的id字段是数字,而后你使用一个随机函数,随机得到一个数字,记录该数字,与ID再对应查询.
    做一个循环,一条条Fill吧,想来题也不会多.
      

  7.   

    这样也行,加一个隐藏列(GUID类型),然后根据GUID排序
    <asp:GridView runat="server" ID="GridView1"></asp:GridView>ICollection GetData()
            {
                DataSet ds = new DataSet();
                DataTable dt = new DataTable();            dt.Columns.Add(new DataColumn("id",typeof(int)));
                dt.Columns.Add(new DataColumn("name",typeof(string)));
                dt.Columns.Add(new DataColumn("age",typeof(int)));
                dt.Columns.Add(new DataColumn("hid", typeof(Guid)));            DataRow dr = dt.NewRow();
                dr["id"] = 1;
                dr["name"] = "jk";
                dr["age"] = 15;
                dr["hid"] = Guid.NewGuid();
                dt.Rows.Add(dr);            dr = dt.NewRow();
                dr["id"] = 2;
                dr["name"] = "li";
                dr["age"] = 22;
                dr["hid"] = Guid.NewGuid();
                dt.Rows.Add(dr);            dr = dt.NewRow();
                dr["id"] = 3;
                dr["name"] = "jl";
                dr["age"] = 25;
                dr["hid"] = Guid.NewGuid();
                dt.Rows.Add(dr);            ds.Tables.Add(dt);
                DataView dv = ds.Tables[0].DefaultView;
                dv.Sort = "hid  desc";
                dv.Table.Columns.Remove("hid");
                return dv;
            }
            private void BindData()
            {            
                GridView1.DataSource = GetData();
                GridView1.DataBind();
            }
      

  8.   

    我用那个hashtable做的。现在是如何将hashtable添加到table。
    由于对语法不是很熟悉。
    麻烦各位帮帮忙。