저는 며칠 동안이 질문에 어려움을 겪어 왔지만 아직 답변을 찾지 못했습니다. 내가 저장 프로 시저에서 동적으로 채워지는 ToolStripMenu
배열 생성 : 체크 기본적으로Dataagridview 필터링에 목록 콘텐츠 사용 C#
ToolStripMenuItem[] itemsDepto = null;
itemsDepto = new ToolStripMenuItem[data.Tables[0].Rows.Count];
for (int i = 0; i <= data.Tables[0].Rows.Count - 1; i++)
{
itemsDepto[i] = new ToolStripMenuItem();
itemsDepto[i].Tag = data.Tables[0].Rows[i].ItemArray[0];
itemsDepto[i].Text = data.Tables[0].Rows[i].ItemArray[1].ToString();
itemsDepto[i].CheckOnClick = true;
itemsDepto[i].Checked = true;
itemsDepto[i].Click += DeptoFilter_Click;
deptoList.Add(data.Tables[0].Rows[i].ItemArray[1].ToString());
}
tsmiDepartamento.DropDownItems.AddRange(itemsDepto);
그리고 제가 사용자에 대한 필터 컨트롤로이 ToolStripMenu
을 사용하는 것입니다 달성하기 위해 노력하고있어를, 그래서 때 사용자의 선택 취소를 메뉴를 선택하지 않으면 내용이 선택되지 않은 행을 필터링해야합니다.
private void DeptoFilter_Click(object sender, EventArgs e)
{
ToolStripMenuItem temp = new ToolStripMenuItem();
temp = (ToolStripMenuItem)sender;
BindingSource bind = new BindingSource();
bind.DataSource = dgvPersonalTotal.DataSource;
if (temp.CheckState == CheckState.Checked)
{
deptoList.Add(sender.ToString());
}
else
{
deptoList.Remove(sender.ToString());
}
bind.Filter = "Departamento NOT IN (" + /*LIST*/"" + ")";
dgvPersonalTotal.DataSource = bind;
//foreach (string x in deptoList)
//{
//}
}
하지만 큰 문제 I : 내가 추가하고 다음 예에서 볼 수있는 메뉴 버튼의 상태에 따라 목록에서 값을 제거 클릭 이벤트에서
deptoList의 유형은 무엇입니까? – Alon
목록 deptoList = 새 목록 (); –
cyberac75