-1

linqを使用してコンボボックスバインディングからvaluememberを取得するにはどうすればよいですか

 cmb_projectName.DataSource = linq1.tbl_Projects.Select(c => new {c.ID,c.ProjectName }).ToList();

int projectID = Convert.ToInt32( cmb_projectName.SelectedValue);

cmb_projectName.DisplayMember = "プロジェクト名"; cmb_projectName.ValueMember = "ID";


cmb_projectName.SelectedValue ==> return {ID = 1, ProjectName = "projectname1" }

Just ID値を返したいです。

どうしたの ??!!

4

2 に答える 2

0

あなたの場合の間違ったコード:

cbo.DataSource = StronglyDataTable.OrderBy(x => x.pName)).Select(x => new { x.pID, x.pName });
cbo.DisplayMember = "pName";
cbo.ValueMember = "pID";

正しいコード:

cbo.DisplayMember = "pName";
cbo.ValueMember = "pID";
cbo.DataSource = StronglyDataTable.OrderBy(x => x.pName)).Select(x => new { x.pID, x.pName });
于 2019-02-26T03:32:06.293 に答える
0

を設定する必要がありValueMemberますComboBox。そうしないと、見たとおりになります。

comboBox1.ValueMember = "ID";
//or
comboBox1.ValueMember = "ProjectName";//It's up to you

次に、comboBox1.SelectedValueが返さIDれるか、設定にProjectName応じて、ValueMemberに設定したと仮定して、次のよう"ID"に取得できます。SelectedValue

var id = (int) comboBox1.SelectedValue;
于 2013-12-07T07:54:53.570 に答える