本帖最后由 mutounannan 于 2011-02-21 13:13:57 编辑

解决方案 »

  1.   

    forea循环dataset动态添加 
    this.ddlRole.Items.Add(new ListItem("文本","值"));
      

  2.   

    可以用下拉框的DataTextFormatString属性来设置显示的格式
      

  3.   

    问题1:要替换掉的话  只能取出数据的时候做处理  假设你的取出的datatable中有两列  那么直接可以用substring(index,lenght)这个方式来截取例如:
    ds.table[0].rows[0]["name"].SubString(5,ds.table[0].rows[0]["name"].ToString().lenght)没环境  类似这样但是这样比较麻烦一些。。问题2 可以取出当你FILL的时候 数据已经在你的dataset中了,可以同时绑定多个控件绑定的话 看自己了。。 repeater gridview 这些都可以的。。
      

  4.   

    其实我问题二的目标,不是在于绑定,而是在于把pageid,controlid的值取出了,从DataSet取出pageid,controlid的值,怎么弄啊?
      

  5.   

    using System.Collections;
    ...
     
    string sql = "select * from roles";
      conn = new SqlConnection(ConnString);
      conn.Open();
      SqlCommand cmd= new SqlCommand(sql, conn);
      DataSet ds= cmd.ExecuteQuery();
      //是麻烦点了,但也是一种方法
      ArrayList al = new ArrayList();
      foreach(DataRowView drv in ds.Table[0].DefaultView)
      {
         al.Add(drv["name"].ToString().Trim().Substring(drv["name"].IndexOf('-')));
      }
      ddlRole.DataSource = al;

      ddlRole.DataBind();
      conn.Close();
    2、如何从DataSet取出pageid,controlid的值?
      foreach(DataRowView drv in ds.Table[0].DefaultView)
      {
         //逐个输出pageid值
         ClientScript.RegisterClientScriptBlock(GetType(), "", "<script>alert('" + drv["pageid"].ToString()+ "'); </script>");
         //controlid值可同方法取值
      }
      

  6.   

    sql 中substring截取数据
    或遍历数据集add
      

  7.   

    查询数据库的语句改成
    Select id,(case when name= 'Admin-系统管理员' then '系统管理员' when name= 'User-用户' then '用户' end) as name From A(表) Where .......
      

  8.   

    forea循环dataset动态添加  
    this.ddlRole.Items.Add(new ListItem("文本","值"));
      

  9.   

    第一个用substring截取数据或遍历数据集add
    第二个根据id获取查询获取
     
     
      

  10.   

    第一个用substring截取-之后的内容