Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何为MySQL搜索创建动态ListView列?_C#_Mysql - Fatal编程技术网

C# 如何为MySQL搜索创建动态ListView列?

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

我有一个ListView,用于许多不同类型的MySQL搜索,它们都返回不同的数据。 以下面的查询为例

  "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?