首页 > 解决方案 > 2 SQL Server 中的 GridControl 和链接表

问题描述

Winform 有 2 个网格。我将 SQL Server 数据库中的相关表显示给它们。

这是代码:

string connectionString = ConfigurationManager.ConnectionStrings["connectionSIPiT"].ConnectionString;

string command = "SELECT UserID, UserName,Login, idArm FROM Users";
string command2 = "SELECT id, name FROM arm";

sqlConnection = new SqlConnection(connectionString);

SqlDataAdapter adapter = new SqlDataAdapter(command2, sqlConnection);
SqlDataAdapter adapter1 = new SqlDataAdapter(command, sqlConnection);

DataSet dataset1 = new DataSet();
adapter.Fill(dataset1, "arm");
adapter1.Fill(dataset1, "Users");

DataColumn keyColumn = dataset1.Tables[0].Columns[0];
DataColumn foreignKeyColumn = dataset1.Tables[1].Columns[3];
dataset1.Relations.Add("armUsers", keyColumn, foreignKeyColumn);

bindingSource1.DataSource = dataset1;
bindingSource1.DataMember = "arm";

bindingSource2.DataSource = bindingSource1;
bindingSource2.DataMember = "armUsers";

gridControl1.DataSource = bindingSource1;
gridControl2.DataSource = bindingSource2;

请帮我弄清楚如何在 GridControl 中隐藏不必要的列。如Id)DataTable可以用吗?如果可能的话,举个例子

标签: c#sql-serverwinformsdevexpress-windows-ui

解决方案


为两个网格设置 DataSource 后,可以将 Id 列的 Visible 属性设置为 false。

假设 DefaultView 是一个 GridView,下面的代码应该可以完成这项工作。

(gridControl1.DefaultView as GridView).Columns["Id"].Visible = false;

推荐阅读