[英]How to change direction of one column of datagridview from right to left?
[英]To display one column in left DataGridView, data comes from the right DataGridView
我有两个DataGirdViews。 我想从右边的DataGridView中选择行,并将它们传递给左边的行。
右边的有4列。 在左侧网格中,我仅定义了一个新列,并且只想显示此列。 此列是右列之一,例如column [2]。 我被困在这里,不确定如何传递行吗?
我的代码不完整(可能是错误,未经测试):
private void btnAdd_Click(object sender, EventArgs e)
{
try
{
if (dgRight.CurrentRow != null)
{
DataRowView currentDataRowView = (DataRowView)dgRight.CurrentRow.DataBoundItem;
foreach (DataGridViewRow row in dgRight.Rows)
{
DataGridViewCheckBoxCell check = row.Cells[0] as DataGridViewCheckBoxCell;
if (check.Value != null)
{
if ((bool)check.Value)
{
//this row has a checkBox set to true (tick is added)
//add this row to dataTable ...
DataRow myRow = (row.DataBoundItem as DataRowView).Row;
DataRow dr = dt.NewRow();
if (!dt.Columns.Contains("ID"))
{
datatableRight.Columns.Add("ID", typeof(int));
datatableRight.Columns.Add("col1", typeof(string));
datatableRight.Columns.Add("col2", typeof(string));
datatableRight.Columns.Add("col3", typeof(string));
DataColumn[] keyColumns = new DataColumn[1];
keyColumns[0] = datatableRight.Columns["ID"];
datatableRight.PrimaryKey = keyColumns;
}
dr["ID"] = myRow["ID"];
dr["col1"] = myRow["col1"];
dr["col2"] = myRow["col2"];
dr["col3"] = myRow["col3"];
if (!datatableRight.Rows.Contains(dr[0]))
{
datatableRight.Rows.Add(dr);
}
}
}
}
dgLeft.DataSource = datatableRight;
datLeft = datatableRight.Copy();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
谢谢。
简单地使用两个具有相同架构的dataTable来绑定这些网格,然后在DataTables中移动行。
一种显示带有数据复制列的概念的快速方法-
dataGridView2.AutoGenerateColumns = false;
///... assuming that datagridview2 is already created with proper columns
dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource = dataGridView2.DataSource;
private void btnAdd_Click(object sender, EventArgs e)
{
for (int j = 0; j < this.dataGridView2.Columns.Count; j++)
{
if (dataGridView2.Columns[j].Name == "Description")
{
this.dataGridView1.Columns.Add(this.dataGridView2.Columns[j].Clone() as DataGridViewColumn);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.