-1

Gridview にドロップダウンリストがあり、すべての ID に関連付けられたレコードを表示する必要があります。ID には 10 を超えるレコードが含まれているため、どのように表示できますか??

 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                con.Open();
                var ddl = (DropDownList)e.Row.FindControl("DropDownList1");
                //int CountryId = Convert.ToInt32(e.Row.Cells[0].Text);
                SqlCommand cmd = new SqlCommand("select LastName from Profile_Master",        con);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.Fill(ds);
                con.Close();
                ddl.DataSource = ds;
                ddl.DataTextField = "LastName";
                ddl.DataBind();

            }
        }
4

2 に答える 2

0
        FillSelect(myDropDownList, "--select--", "0", true);
        public static void FillSelect(DropDownList DropDown, string SelectItemText, string SelectItemValue, bool includeselectitem)
        {
            List<PhoneContact> obj_PhoneContactlist = getAll();

            if (obj_PhoneContactlist != null && obj_PhoneContactlist.Count > 0)
            {
                DropDown.DataTextField = "PhoneContactName";
                DropDown.DataValueField = "id";
                DropDown.DataSource = obj_PhoneContactlist.OrderBy(o => o.PhoneContactName);//linq statement
                DropDown.DataBind();

                if (includeselectitem)
                    DropDown.Items.Insert(0, new ListItem(SelectItemText, SelectItemValue));
            }
        }
        public static List<PhoneContact> getAll()
        {

        obj_PhoneContactlist = new List<PhoneContact>();
        string QueryString;
        QueryString = System.Configuration.ConfigurationManager.ConnectionStrings["Admin_raghuConnectionString1"].ToString();

        obj_SqlConnection = new SqlConnection(QueryString);

        obj_SqlCommand = new SqlCommand("spS_GetMyContacts");
        obj_SqlCommand.CommandType = CommandType.StoredProcedure;
        obj_SqlConnection.Open();
        obj_SqlCommand.Connection = obj_SqlConnection;
        SqlDataReader obj_result = null;
        obj_SqlCommand.CommandText = "spS_GetMyContacts";
        obj_result = obj_SqlCommand.ExecuteReader();


        //here read the individual objects first and append them to the listobject so this we get all the rows in one list object

        using (obj_result)
        {
            while (obj_result.Read())
            {
                obj_PhoneContact = new PhoneContact();
                obj_PhoneContact.PhoneContactName = Convert.ToString(obj_result["PhoneContactName"]).TrimEnd();
                obj_PhoneContact.PhoneContactNumber = Convert.ToInt64(obj_result["PhoneContactNumber"]);
                obj_PhoneContact.id = Convert.ToInt64(obj_result["id"]);

                obj_PhoneContactlist.Add(obj_PhoneContact);
            }

        }

        return obj_PhoneContactlist;
        }

データベースにある phonecontacts をドロップダウンに取得するためにこれを行いました。必要に応じてストアド プロシージャと値を変更できます。

これが役立つことを願っています:D

于 2012-10-24T06:15:34.150 に答える
0

私が働いている場所でこの問題に遭遇しました。この問題を回避する方法は、最初に DropDownLists UniqueID を取得することでした。これは基本的にクライアント ID です。その ID の内部は、それが選択された GridView の行への参照です。唯一の問題は、行数に 2 を追加しているように見えることです。したがって、行 1 の DropdownList を選択すると、一意の ID によって 3 行目が参照されます。そう:

一意の ID を取得 > 分割しますが、行を取得する必要があります > 行番号を使用して必要な値を取得します。

于 2012-10-24T19:49:46.163 に答える