c# - 如何将特定数据表列中的值添加到 datagridview
问题描述
我有数据表,但是这个数据表从另一个数据表克隆值(从数据库查询)。
public void showData()
{
string conStr = @"Data Source= ...";
onnection = new SqlConnection(conStr);
connection.Open();
command = new SqlCommand();
sql = "something";
command = new SqlCommand(sql, connection);
adapter = new SqlDataAdapter(command);
dtt = new DataTable();
adapter.Fill(dtt);
//--Somthing Generate--//
DataTable dt = new Datatable();
dt = dtt.Clone();
//--Somthing Generate--//
}
我尝试从 datatable(dt) 特定列添加 valec。
dt = dtt.Clone();
//--Somthing Generate--//
dataGridView3.DataSource = dt;
dataGridView3.Columns[0].DataPropertyName = "ID";
dataGridView3.Columns[1].DataPropertyName = "Name";
从我的代码,我不能。
解决方案
- 使用 Copy() 方法而不是 Clone()。
dt = dtt.Copy();
- 将 gridview 的 AutoGenerateColumns 属性设置为 false。
当 AutoGenerateColumns 属性设置为 true 时,每列会自动将其 DataPropertyName 属性设置为 DataSource 属性指定的数据源中的属性或数据库列的名称。此绑定也可以手动执行,当您只想显示数据源中可用的属性或数据库列的子集时,这很有用。在这种情况下,请将 AutoGenerateColumns 属性设置为 false,然后手动添加每个 DataGridViewColumn,将每个 DataPropertyName 属性的值设置为要显示的数据源中的属性或数据库列。
推荐阅读
- mysql - docker mysql-container 卷映射到项目中的文件夹 - 安全吗?
- c++ - 通过按位运算确定值是否包含另一个值
- sql - 如何从同一表中另一列计算的结果中获取值
- sql-server - SQL Server - 了解存储过程调用
- button - Button_Alignment 和位置
- javascript - 从 Suitescript 2.0 中的套件表单脚本运行计划脚本时出错?
- vb.net - 并非所有接收到的数据都存储到变量中
- c++ - 如何安全地终止线程?(使用指针)C++
- c++ - C++ 中用户定义的构造函数的问题
- ios - Pod 安装在 react-native mac os catalina 10.15 中不起作用