Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.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# 在DataGridView中更改、隐藏和显示DataTable中的列_C#_Winforms_Sqlite_Datagridview_Datatable - Fatal编程技术网

C# 在DataGridView中更改、隐藏和显示DataTable中的列

C# 在DataGridView中更改、隐藏和显示DataTable中的列,c#,winforms,sqlite,datagridview,datatable,C#,Winforms,Sqlite,Datagridview,Datatable,我有一个DataTable,它从SQL查询中获取数据(我知道我是如何做的,它很容易受到SQL注入的影响,但出于这个问题,我使用普通SQL查询只是为了显示它比三层查询更简单)。我要做的是更改datagridview中显示的列 例如,我想隐藏“ProdID”列,并将“ProdDesc”列更改为“Product Name”,依此类推 到目前为止,我已经掌握了这一点,但这一点都不管用: query = "Select * From Product"; Products = db.GetDataTable

我有一个DataTable,它从SQL查询中获取数据(我知道我是如何做的,它很容易受到SQL注入的影响,但出于这个问题,我使用普通SQL查询只是为了显示它比三层查询更简单)。我要做的是更改datagridview中显示的列

例如,我想隐藏“ProdID”列,并将“ProdDesc”列更改为“Product Name”,依此类推

到目前为止,我已经掌握了这一点,但这一点都不管用:

query = "Select * From Product";
Products = db.GetDataTable(query);           
Products.Columns[1].ColumnName = "Product Name";
Products.Columns[2].ColumnName = "Currently in stock";
Products.Columns[3].ColumnName = "Product Price \"R\"";
Products.Columns[4].ColumnName = "Profit Per Product\"R\"";
Products.Columns[5].ColumnName = "Product Type Code";
Products.Columns.Add("Product Type Name");
foreach (DataRow dr2 in Products.Rows)
{
     string query11 = "Select TypeDesc From Product Type Where TypeNo ='" + dr2[6].ToString().Trim() + "'";
     DataTable Names = db.GetDataTable(query11);
     dr2[6] = Names.Rows[0][0];
}
dgvProdInformation.DataSource = Products; 
以下是数据库列的工作方式:

尝试这样更改列名

Products.Columns[intColumnIndex].HeaderText = "Something";
并使用此选项隐藏ID列(如TaW所述)


希望有帮助,

尝试这样更改列名

Products.Columns[intColumnIndex].HeaderText = "Something";
并使用此选项隐藏ID列(如TaW所述)


希望有帮助,

首先创建一个数据表,并根据需要定义列。然后将数据从sql传输到自定义表。例如:

DataTable dt=new DataTable();

DataColumn clm0=new DataColumn("ColumnHeader",typeof(string))
.
.

dt.Columns.Add(clm0);
.
.

foreach(DataRow item in Products.Rows)
{
DataRow new_row=dt.NewRow();

new_row["ColumnHeader"]=item["Column"]
dt.Rows.Add(new_row);
}

dgvProdInformation.DataSource=dt;

希望这有帮助。

首先创建一个数据表,并根据需要定义列。然后将数据从sql传输到自定义表。例如:

DataTable dt=new DataTable();

DataColumn clm0=new DataColumn("ColumnHeader",typeof(string))
.
.

dt.Columns.Add(clm0);
.
.

foreach(DataRow item in Products.Rows)
{
DataRow new_row=dt.NewRow();

new_row["ColumnHeader"]=item["Column"]
dt.Rows.Add(new_row);
}

dgvProdInformation.DataSource=dt;

希望这有帮助。

以及
Products.Columns[“ProdID”].Visible=false以及
产品。列[“ProdID”]。可见=假