【发布时间】:2016-06-11 10:24:05
【问题描述】:
我有一个带有如下预定义列的 DGV,这里是生成方法和绑定方法
fixGridAlarm(dgvAlarmlar);
public void fixGridAlarm(DataGridView gvw)
{
gvw.AutoGenerateColumns = false;
gvw.RowTemplate.Height = 75;
gvw.ColumnCount = 3;
gvw.Columns[0].Name = "No";
gvw.Columns[0].Width = 60;
gvw.Columns[0].ReadOnly = true;
gvw.Columns[0].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
gvw.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
gvw.Columns[1].Name = "Tarih/Saat";
gvw.Columns[1].Width = 490;
gvw.Columns[1].ReadOnly = true;
gvw.Columns[1].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
gvw.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
gvw.Columns[2].Name = "Açıklama";
gvw.Columns[2].Width = 1195;
gvw.Columns[2].ReadOnly = true;
gvw.Columns[2].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
gvw.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
BindAlarmlarGrid();
}
public void BindAlarmlarGrid()
{
string CSVFilePathName = pathAlarms;
string[] Lines = File.ReadAllLines(CSVFilePathName);
string[] Fields;
DataTable dt = new DataTable();
dt.Columns.Add(dgvAlarmlar.Columns[0].Name, typeof(int));
dt.Columns.Add(dgvAlarmlar.Columns[1].Name, typeof(DateTime));
dt.Columns.Add(dgvAlarmlar.Columns[2].Name, typeof(string));
DataRow Row;
for (int i = 0; i < Lines.GetLength(0); i++)
{
Fields = Lines[i].Split(new char[] { ',' });
Row = dt.NewRow();
for (int f = 0; f < 3; f++)
{
Row[f] = Fields[f];
}
dt.Rows.Add(Row);
}
dgvAlarmlar.DataSource = dt;
当我将其 DataSource 作为 DataTable 列添加到原始 DGV 旁边时,我如何将其绑定到原始网格而不是下一个?
【问题讨论】:
-
你不必在
dgvAlarmlar.DataSource = dt;之后打电话给dgvAlarmlar.DataBind(); -
这是 winform 而不是 asp.net @AlexW
-
我很难看出问题所在
-
您将第一列添加 3 次,但每次使用不同的类型。会这样吗?
-
你试过
dt.Rows.Add(Fields);
标签: c# winforms datagridview datatable