即使相同的字符串也不匹配
Even same strings does not match
你好,我有一个 datagridview,它有列表的数据源,这个列表是:
public class UniqueNounWithFreq
{
public int freq { get; set; }
public string word { get; set; }
public UniqueNounWithFreq(string word, int freq)
{
this.freq = freq;
this.word = word;
}
}
if (e.KeyChar == (char)13)
{
foreach (DataGridViewRow item in dataGridView_w2wm2.Rows)
{
if (!item.Cells[2].Value.ToString().Contains(textBox1.ToString().ToLower()))
{
item.Visible = false;
}
else
{
item.Visible = true;
}
}
}
当我想通过按键隐藏一行时它抛出
Row associated with the currency manager's position cannot be made invisible exception
您可以在这里看到:Unable To set row visible false of a datagridview。我尝试了那里的方法,但它对我不起作用。另外,当我检查我写的字符串的长度时,即使它们相同,它们也不匹配。如果你能帮助我,我将不胜感激。
使用 textBox1.ToString() 将生成类似于 "System.Windows.Controls.TextBox: TextBox" 的内容 - 它将创建控件类型的字符串。
您应该使用 textBox1.Text 来获取文本框的实际内容 - 它是一个字符串,因此不需要转换。
根据 PeterBruins 的评论,使用 .Contains(textBox1.Text, StringComparer.CurrentCultureIgnoreCase) 比转换为小写更好。
您可以在不使用 if 语句的情况下简化 Visible 属性 的设置:
item.Visible = item.Cells[2].Value.ToString().Contains(textBox1.Text,
StringComparer.CurrentCultureIgnoreCase);
你好,我有一个 datagridview,它有列表的数据源,这个列表是:
public class UniqueNounWithFreq
{
public int freq { get; set; }
public string word { get; set; }
public UniqueNounWithFreq(string word, int freq)
{
this.freq = freq;
this.word = word;
}
}
if (e.KeyChar == (char)13)
{
foreach (DataGridViewRow item in dataGridView_w2wm2.Rows)
{
if (!item.Cells[2].Value.ToString().Contains(textBox1.ToString().ToLower()))
{
item.Visible = false;
}
else
{
item.Visible = true;
}
}
}
当我想通过按键隐藏一行时它抛出
Row associated with the currency manager's position cannot be made invisible exception
您可以在这里看到:Unable To set row visible false of a datagridview。我尝试了那里的方法,但它对我不起作用。另外,当我检查我写的字符串的长度时,即使它们相同,它们也不匹配。如果你能帮助我,我将不胜感激。
使用 textBox1.ToString() 将生成类似于 "System.Windows.Controls.TextBox: TextBox" 的内容 - 它将创建控件类型的字符串。
您应该使用 textBox1.Text 来获取文本框的实际内容 - 它是一个字符串,因此不需要转换。
根据 PeterBruins 的评论,使用 .Contains(textBox1.Text, StringComparer.CurrentCultureIgnoreCase) 比转换为小写更好。
您可以在不使用 if 语句的情况下简化 Visible 属性 的设置:
item.Visible = item.Cells[2].Value.ToString().Contains(textBox1.Text,
StringComparer.CurrentCultureIgnoreCase);