0

コンボボックスにデータベースの名前を入力したい。1つのコンボボックスで2つの列がいっぱいになる可能性はありますか? 例: 2 つの列がNameありPositionます。名前を対応する位置でコンボボックスに入れたい。

例:

Name                        Position
---------------------------------------------
jack                        President
jill                        President
maria                       Vice President
john                        Secretary

ここに私のコードがあります:

{

        DataTable table = new DataTable();
        using (SqlConnection sqlConn = new SqlConnection("my connection"))

        {

         using (SqlDataAdapter da = new SqlDataAdapter(@"SELECT Name, Position FROM CandidateTable", sqlConn))

         da.Fill(table);

         }

         comboBox1.DataSource = table;

        comboBox1.DisplayMember = "Name";

        comboBox1.ValueMember = "Position";

}

注:コンボボックスにジャックとジルの名前を入力したいのは、同じ位置にある bcoz だけです。他の名前も別のコンボボックスにあります..大統領コンボボックスではありません..位置を分離するコンボボックスが必要です..あなたは私の英語を理解していますか?

4

3 に答える 3

2

データベースまたはモデルのいずれかから2つのフィールドを連結する必要があります

SELECT (name + ' - ' + Position) AS NameAndPosition from Employee

また

public class Employee
{
   public string Name {get; set; }
   public string Position {get; set; }

   public string NameAndPosition
   {
      return String.Format("{0} - {1}", Name, Position);//
   }
}

コンボボックスでは、表示フィールドは次のようになりますNameAndPosition

于 2012-10-08T04:41:55.083 に答える
0

コンボボックスに2つの列を含めることはできません。ただし、それを行うための一種のカスタムインターフェイスを構築する利用可能なJavaScriptがいくつかあります。

ここにそれらの1つへのリンクがあります

http://blog.pengoworks.com/index.cfm/2008/4/3/Preview-jQuery-Multicolumn-Dropdown-Plugin

もう1つのオプションは、名前と位置の両方を1つのフィールドとして選択し、次のようにドロップダウンに表示できることです。

'select [Name] + " - " + [Position"] from table xxx'

このようにして、ドロップダウンに名前と位置の両方が表示されます。

于 2012-10-08T04:41:13.050 に答える
0

このコードを使用すると、答えが得られると確信しています...

string query = "SELECT unitId,unitName FROM unit";
DataSet ds = new DataSet();

sqlopen();//a function for check open or close sql connection

// you must set already sqlConnection for sqlCon parameter
SqlCommand cmd = new SqlCommand(query, sqlCon); 
cmd.CommandType = CommandType.Text;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds, "tbl");

cbEdit.DataSource = ds.Tables["tbl"];
cbEdit.DisplayMember = "unitName";
cbEdit.ValueMember = "unitId";
于 2013-02-10T23:56:47.653 に答える