【发布时间】:2018-10-15 15:35:27
【问题描述】:
我在解决列表视图问题时遇到了麻烦。 我有一个从连接到 na sql 数据库的数据表中读取的列表视图。 我希望能够过滤它抛出一个文本框 textchanged 句柄,但我有以下问题? - 不能退格,搜索不会更新; - 无法获取选中的项目;
private void filtro_TextChanged(object sender, EventArgs e)
{
//searchData(filtro.Text);
List<ListViewItem> showitems = new List<ListViewItem>();
if (filtro.Text != "")
{
for (int i = ListViewVistas.Items.Count - 1; i >= 0; i--)
{
var item = ListViewVistas.Items[i];
if (item.Text.ToLower().Contains(filtro.Text.ToLower()))
{
item.Selected = true;
item.BackColor = SystemColors.HighlightText;
item.ForeColor = SystemColors.InfoText;
}
else
{
ListViewVistas.Items.Remove(item);
}
}
if (ListViewVistas.SelectedItems.Count == 1)
{
ListViewVistas.Focus();
}
}
else
UpdateViews();
public void UpdateViews()
{
ListViewVistas.Clear();
//IR BUSCAR O DICIONARIO PARA DEPOIS VER SE AS VISTAS JA ESTAO ASSOCIADAS OU NÃO
string m_IdFicheiroDesenho = "";
NomeFicheiro FicheiroActivo = new NomeFicheiro();
DataBase DbId = new DataBase();
DbId.IdFichDesFromReferencia(FicheiroActivo.NomeReferencia, out m_IdFicheiroDesenho);
Dictionary<int, List<string>> dicVistasFicheiroDesenho = DbId.GetDictionaryVistasFicheirosDesenho(m_IdFicheiroDesenho);
string[] ListItemTxt = new string[4];
ListViewVistas.View = System.Windows.Forms.View.Details;
ListViewVistas.GridLines = true;
ListViewVistas.FullRowSelect = true;
ListViewVistas.Columns.Add("Vista ou Sheet");
ListViewVistas.Columns.Add("Ficheiro de Desenho");
ListViewVistas.Columns.Add("Designação");
ListViewVistas.Columns.Add("Id");
ListViewVistas.Columns[0].Width = 230;
ListViewVistas.Columns[1].Width = 180;
ListViewVistas.Columns[1].TextAlign = HorizontalAlignment.Left;
ListViewVistas.Columns[2].Width = 420;
ListViewVistas.Columns[2].TextAlign = HorizontalAlignment.Left;
ListViewVistas.Columns[3].Width = 30;
ListViewVistas.Columns[3].TextAlign = HorizontalAlignment.Left;
ListViewVistas.CheckBoxes = true;
ListViewVistas.Items.Clear();
if (checkBoxViews.Checked)...
谁能帮帮我??
【问题讨论】:
-
ObjectListView (objectlistview.sourceforge.net/cs/index.html) 听起来很有帮助,因为它可以满足您的所有要求。