这段代码没有通过gridview绑定。  我现在希望可以在前台页面或得一个具体字段的值,当我点击这个具体字段的时候。他将按照这个字段在最前面重新来排序。比如在游戏这一列 我点击魔兽世界。那么所有魔兽世界的字段排在最前面。   现在问题是。我不知道如何在前台页面或得点击的相应值。求具体实现的代码。。谢谢了
private void BindGrid()
{
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString);
    string cmdtext = "select * from [order] order by odtime desc";    SqlDataAdapter sda = new SqlDataAdapter(cmdtext, con);
    DataSet ds = new DataSet();
    con.Open();
    sda.Fill(ds);
    con.Close();    System.Text.StringBuilder str = new System.Text.StringBuilder();
    str.Append("<table border = 1>");
    str.Append("<tr>");
    for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
    {
        str.Append("<td>" + ds.Tables[0].Columns[i].ColumnName + "</td>");
    }
    str.Append("</tr>");
    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
    {
        str.Append("<tr>");
        for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
        {
            str.Append("<td>" + ds.Tables[0].Rows[i][j].ToString() + "</td>");
        }
        str.Append("</tr>");
    }    Response.Write(str.ToString());
}

解决方案 »

  1.   

    重写这个方法,传个参数进去参数就是字段名字.这样你的select 语句后面就可以根据你传禁区的字段排序!
    private void BindGrid(string 字段名字) { 
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString);
     string cmdtext = "select * from [order] order by odtime desc";
     SqlDataAdapter sda = new SqlDataAdapter(cmdtext, con); 
    DataSet ds = new DataSet();
     con.Open(); 
    sda.Fill(ds); 
    con.Close(); 
    System.Text.StringBuilder str = new System.Text.StringBuilder(); str.Append("<table border = 1>"); str.Append("<tr>"); for (int i = 0; i < ds.Tables[0].Columns.Count; i++) { str.Append("<td>" + ds.Tables[0].Columns[i].ColumnName + "</td>"); } str.Append("</tr>"); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { str.Append("<tr>"); for (int j = 0; j < ds.Tables[0].Columns.Count; j++) { str.Append("<td>" + ds.Tables[0].Rows[i][j].ToString() + "</td>"); } str.Append("</tr>"); } Response.Write(str.ToString()); } 
      

  2.   

    private void BindGrid(string dataFile) { 
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString);
     string cmdtext = "select * from [order] order by " + dataFile; 
     SqlDataAdapter sda = new SqlDataAdapter(cmdtext, con); 调用
    BindGrid("odtime");
      

  3.   

    改下方法,拼SQL语句就行了
    用Order by排序
    private void BindGrid(string 字段名) 
    {
    //....
    string cmdtext = "select * from [order] order by 字段名 desc";}
      

  4.   

    改下方法,拼SQL语句就行了
    用Order by排序
    private void BindGrid(string 字段名) 
    {
    //....
    string cmdtext = "select * from [order] order by 字段名 desc";}
      

  5.   

    我还是想问问楼主,为什么不用GridView这样的控件呢?
      

  6.   

    可是前台的代码该如何写呢。如何知道点的是哪个字段呢?  用不用加个 href呢? 我就是不知道前台该如何处理,是不是应该通过点击找个事件来传回值呢?》
      

  7.   

    可是前台的代码该如何写呢。如何知道点的是哪个字段呢?  用不用加个 href呢? 我就是不知道前台该如何处理,是不是应该通过点击找个事件来传回值呢?》
      

  8.   

    是通过href来把值传给程序吗???
      

  9.   


    可是当运行程序的时候总是在这里出错 string gameid = Request["game"].ToString();
    为应用到对象实例诶。苦恼啊
      

  10.   

    LZ不用GridView,现在是类似asp的写法-_-!
    参数是URL传递过来的吧
    string gameid = Request["game"].ToString(); 
    ---------------->
     if (Request.QueryString["game"] != null)
      {
        string gameid = Request.QueryString["game"];
      } 
      

  11.   

    已回
    http://topic.csdn.net/u/20080602/18/ef7552ac-6bb3-4054-b0e8-c41250408208.html