C# 如何为MySQL搜索创建动态ListView列?
我有一个ListView,用于许多不同类型的MySQL搜索,它们都返回不同的数据。 以下面的查询为例C# 如何为MySQL搜索创建动态ListView列?,c#,mysql,C#,Mysql,我有一个ListView,用于许多不同类型的MySQL搜索,它们都返回不同的数据。 以下面的查询为例 "SELECT `entry`, `name` FROM `accounts` WHERE `name` LIKE %@name%"; 每次运行查询时,我都必须设置ListView列,以便正确显示 listView1.View = View.Details; listView1.Columns.Add("Entry", 50, HorizontalAlign
"SELECT `entry`, `name` FROM `accounts` WHERE `name` LIKE %@name%";
每次运行查询时,我都必须设置ListView列,以便正确显示
listView1.View = View.Details;
listView1.Columns.Add("Entry", 50, HorizontalAlignment.Left);
listView1.Columns.Add("Name", 210, HorizontalAlignment.Left);
是否可以根据MySQL服务器返回的列数据而不是上述代码添加ListView列?如果我理解正确,您可能需要尝试以下操作:
string clmHeader = null;
int clmWidth = 0;
foreach (string s in List<T>())
{
clmHeader = s;
//Add an invisible label to your form
lbl.Text = s;
clmWidth = lbl.Width;
ListView.Columns.Add(clmHeader, clmWidth, HorizontalAlignment.Left)
}
string clmHeader=null;
int clmWidth=0;
foreach(列表()中的字符串s)
{
clmHeader=s;
//将不可见标签添加到表单中
lbl.Text=s;
clmWidth=磅宽;
添加(clmHeader、clmWidth、HorizontalAlignment.Left)
}
您需要从数据库中填充数据,然后根据数据向listview添加列,如下所示
DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString()))
{
SqlCommand cmd = new SqlCommand("SELECT `entry`, `name` FROM `accounts` WHERE `name` LIKE %@name%", con);
cmd.Parameters.AddWithValue("@name", "somename");
SqlDataAdapter dAdapter = new SqlDataAdapter(cmd);
dAdapter.Fill(dt);
}
foreach (DataColumn dc in dt.Columns)
{
listView1.Columns.Add(dc.ColumnName, 50, HorizontalAlignment.Left);
}
你是说你需要动态添加coulmns?