在gridview里显示学生信息,在gridview里添加了一个超链接按钮"修改",点击修改就会跳转到修改页面进行修改,在修改页面有dropdownlist控件,已经在修改页面的page_load事件里连接上数据库里面的班级表了,当在gridview点击修改链接时就会在dropdownlist控里面显示相应的班级,其他项会在文本框控件中显示,请教如何在dropdownlist控件里面显示相应班级;这是在修改页面连接班级的代码 
 Dim sql As String
        Dim conn As New SqlConnection
        conn.ConnectionString = "data source=192.168.31.199;initial catalog=kaoqin manager;user id=james5;password=james5;"
        sql = "select classno,classname from class"
        Dim cmd As New SqlCommand(sql, conn)
        conn.Open()
        Dim dr As SqlDataReader
        dr = cmd.ExecuteReader()
        banji.AppendDataBoundItems = True
        banji.Items.Add(New ListItem("--请选择--", "-1"))
        banji.DataSource = dr
        banji.DataValueField = "classno"
        banji.DataTextField = "classname"
        banji.DataBind()

解决方案 »

  1.   

    跳转到修改页面时,把点击的行的班级ID作为url参数传到修改页面,在代码中写
     Dim sql As String
            Dim conn As New SqlConnection
            conn.ConnectionString = "data source=192.168.31.199;initial catalog=kaoqin manager;user id=james5;password=james5;"
            sql = "select classno,classname from class"
            Dim cmd As New SqlCommand(sql, conn)
            conn.Open()
            Dim dr As SqlDataReader
            dr = cmd.ExecuteReader()
            banji.AppendDataBoundItems = True
            banji.Items.Add(New ListItem("--请选择--", "-1"))
            banji.DataSource = dr
            banji.DataValueField = "classno"
            banji.DataTextField = "classname"
            banji.DataBind()
    banji.SelectedValue = Request["班级id"];//这
      

  2.   

    //绑定显示"1班"ListItem item = banji.Items.FindByText("1班");
    if (item != null)
       item.Selected = true;
      

  3.   

    banji.Items.FindByText("你的文本").Selected = True
      

  4.   

    楼主是vb.net,偶给你一个c#版本的例子,你参考一下:    protected System.Data.SqlClient.SqlConnection mySqlConnection;
        protected System.Data.SqlClient.SqlCommand mySqlCommand;
        protected System.Data.SqlClient.SqlDataAdapter mySqlDataAdapter;
        protected System.Data.SqlClient.SqlDataReader mySqlDataReader;
        protected System.Data.DataSet myDataSet;
        protected System.Data.DataView myDataView;    //数据绑定
        protected void BindData()
        {
            this.mySqlConnection = URCode.GetConn();
            this.mySqlDataAdapter = new SqlDataAdapter();
            string selectSqlStr = "select * from pub_dic_disease";
            this.mySqlDataAdapter.SelectCommand = new SqlCommand(selectSqlStr, mySqlConnection);
            this.myDataSet = new DataSet();
            this.mySqlDataAdapter.Fill(myDataSet);
            this.GridView1.DataSource = myDataSet;
            this.GridView1.DataBind();
            this.mySqlConnection.Close();
        }    //选择记录
        protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.btnMessage.Visible = false;
            string code = "";
            this.lblCode.Text = GridView1.SelectedValue.ToString();
            code = lblCode.Text.ToString();
            this.mySqlConnection = URCode.GetConn();
            this.mySqlCommand = mySqlConnection.CreateCommand();
            this.mySqlConnection.Open();
            this.mySqlCommand.CommandText = "select * from pub_dic_disease where code ='" + code + "'";
            this.mySqlDataReader = mySqlCommand.ExecuteReader();
            this.mySqlDataReader.Read();        string name = mySqlDataReader["name"].ToString();
            string disease_class = mySqlDataReader["class"].ToString();
            string icd10 = mySqlDataReader["icd10"].ToString();
            string note = mySqlDataReader["note"].ToString();        this.mySqlConnection.Close();        this.lblCode.Text = code;
            this.txtNameShow.Text = name;        for (int cntDisease_Class = 0; cntDisease_Class < dpdDC.Items.Count; cntDisease_Class++)
            {
                if (dpdDC.Items[cntDisease_Class].Value.Trim() == disease_class)
                {
                    dpdDC.SelectedIndex = cntDisease_Class;
                }
            }        for (int cntICD10 = 0; cntICD10 < dpdICD.Items.Count; cntICD10++)
            {
                if (dpdICD.Items[cntICD10].Value.Trim() == icd10)
                {
                    dpdICD.SelectedIndex = cntICD10;
                }
            }        this.txtNote.Text = note;        btnEdit.Enabled = true;
            btnDel.Enabled = true;
            btnAdd.Enabled = false;
        }p.s. dpdDC就是dropdowslist,遍历dropdownlist里面所有元素,之后显示编辑修改。
      

  5.   

    我照楼上两位大哥的做了,但是提示找不到对象,把获得参数的代码再贴出来希望大家指教
     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Page.IsPostBack = False Then
                Dim conn As New SqlConnection
                conn.ConnectionString = "data source=192.168.31.199;initial catalog=kaoqin manager;user id=james5;password=james5;"
                Dim sql As String
                sql = "select kaoqinno,riqi,hour,re ,stuname ,mattername,classname  from "
                sql &= "kaoqin,class,matter where kaoqin.classno=class.classno and  kaoqin.matterno=matter.matterno"
                sql &= " and  kaoqinno=" & Request.QueryString("kaoqinno")
                Dim cmd As New SqlCommand(sql, conn)
                conn.Open()
                Dim dr As SqlDataReader = cmd.ExecuteReader
                If dr.Read Then
                    xingming.Value = dr.Item("stuname").ToString
                    riqi.Value = dr.Item("riqi").ToString
                    keshi.Value = dr.Item("hour").ToString
                    beizhu.Value = dr.Item("re").ToString
                    Label3.Text = dr.Item("kaoqinno").ToString
                    banji.Items.FindByText("classname").Selected = True  '这句不行
                               
                    conn.Close()
                End If
                Call banji()
                End If    End Sub
    banji()就是上面绑定班级的代码
      

  6.   

    你搞错了,首先你需要绑定所有班级数据到dropdownist。然后才加载你需要修改的数据。
    ' 下句这样写
    banji.Items.FindByText(dr.Item("kaoqinno").ToString).Selected = True '这句不行
      

  7.   

    搞错了banji.Items.FindByText(dr.Item("classname").ToString).Selected = True