我在C#中有一个winforms应用程序,用户必须从override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches {
let location = touch.location(in: self)
let node : SKNode = self.atPoint(location)
if node.name == "button1" {
print("Tapped")
}
}
}
中选择数据,然后在combobox
中列出这些项目。
我遇到的问题如下:
如果用户选择一个项目,结果看起来没问题,但是如果他选择了另一个项目,那么旧结果将不会被清除,所以我使用该行:
listbox
但是,如果我使用这行代码,结果将不会完全显示,则会缺少行。
我的代码是:
listView1.Items.Clear();
第二个问题是,我希望在列表框中显示2个字段(desc和enchimento),但列表框只显示其中一个字段。
答案 0 :(得分:1)
您可以在循环中调用listView1.Items.Clear()
。
因此,在循环的每次迭代中,您都会删除所有项并添加一个新项。因此,只有最后一个保留在列表视图中。
在循环之前移动行:
listView1.Items.Clear();
for (int i = 0; i < DTT.Rows.Count; i++)
{
DataRow dr = DTT.Rows[i];
ListViewItem listitem = new ListViewItem(dr["desc"].ToString());
listitem.SubItems.Add(dr["desc"].ToString());
listitem.SubItems.Add(dr["enchimento"].ToString());
listView1.Items.Add(listitem);
}
答案 1 :(得分:0)
PL
Please use like below ExP:
string InputValue="12";
List<string> listView1 = new List<string>();
using (SqlConnection conn = new SqlConnection())
{
List<string> terms = InputValue.Split(',').ToList();
terms = terms.Select(s => s.Trim()).ToList();
//Extract the term to be searched from the list
string searchTerm = terms.LastOrDefault().ToString().Trim();
//Return if Search Term is empty
if (string.IsNullOrEmpty(searchTerm))
{
return new string[0];
}
//Populate the terms that need to be filtered out
List<string> excludeTerms = new List<string>();
if (terms.Count > 1)
{
terms.RemoveAt(terms.Count - 1);
excludeTerms = terms;
}
conn.ConnectionString = ConfigurationManager
.ConnectionStrings["CON"].ConnectionString;
using (SqlCommand cmd = new SqlCommand())
{
string query = "select [desc],[enchimento] from vidros where " +
" desempenho = @emp";
cmd.CommandText = query;
cmd.Parameters.AddWithValue("@emp", searchTerm);
cmd.Connection = conn;
conn.Open();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
listView1.Add(string.Format("{0}-{1}", sdr["desc"], sdr["enchimento"]));
}
}
conn.Close();
}
return listView1.ToArray();
&#13;