Ich bin eine Anwendung erstellen, die WPF verwendet, wo eine Suchzeichenfolge eine Datagridview filtern wird, aber mehrere Suchzeichenfolgen enthalten kann. Ich habe versucht, unten eine Filterfunktion zu erstellen, aber es funktioniert nicht ganz am letzten Bit, wo ich die Sichtbarkeit festlege. Kannst du mir bitte helfen zu verstehen, wo ich falsch gelaufen bin? DankWPF Foreach Row Sichtbarkeitsgruppe
private void BindGrid(string parameter)
{
string[] array = parameter.Split();
string constring = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\SearchTable.mdf;Integrated Security=True;Connect Timeout=30";
using (SqlConnection con = new SqlConnection(constring))
{
con.Open();
using (SqlCommand cmd = new SqlCommand("SELECT * FROM Projects", con))
{
cmd.CommandType = CommandType.Text;
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
using (DataTable dt = new DataTable())
{
sda.Fill(dt);
dataGridView1.SetBinding(ItemsControl.ItemsSourceProperty, new Binding { Source = dt });
foreach (DataRow row in dt.Rows)
{
SqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
int index = reader.GetInt32(0);
string a = reader.GetString(1);
string b = reader.GetString(2);
string c = reader.GetString(3);
string d = reader.GetString(4);
string e = reader.GetString(5);
string f = reader.GetString(6);
string g = reader.GetString(7);
string h = reader.GetString(8);
string i = reader.GetString(9);
string j = reader.GetString(10);
string t = a + " " + b + " " + c + " " + d + " " + e + " " + f + " " + g + " " + h + " " + i + " " + j;
foreach (string value in array)
{
if (t.IndexOf(value, StringComparison.CurrentCulture) == -1)
{
row.Visibility = Visibility.Collapsed;
}
else if (t.IndexOf(value, StringComparison.CurrentCulture) > 0)
{
row.Visibility = Visibility.Visible;
}
}
}
}
reader.Close();
}
rows = dataGridView1.Items.Count.ToString();
Rows.Content = rows + " Entries";
}
}
}
con.Close();
}
}
WPF unterstützt das 'DataGridView'-Konstrukt nicht. (Auch 'DataGridView' hat keine' Items' Eigenschaft.) Vielleicht meintest du ['DataGrid'] (https://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid (v = vs. 110) .aspx)? Wenn ja, bearbeiten Sie Ihre Frage-Tags, damit Ihre Frage mehr Aufmerksamkeit von den richtigen Personen erhält. – OhBeWise