C# C Winforms:将数据模型绑定到datagridview行(逐行添加)
我有一个c中的winforms应用程序和VisualStudio2008中的.NET3.5 在我的表单中,我有一个DataGridView。此datagridview按以下顺序有8列: 图像:DataGridViewImageColumn DateAndTime:DataGridViewTextBoxColumn ID:DataGridViewTextBoxColumn ID2:DataGridViewTextBoxColumn 名称:DataGridViewTextBoxColumn 姓氏:DataGridViewTextBoxColumn 第二个姓氏:DataGridViewTextBoxColumn 地址:DataGridViewTextBoxColumn 这个datagridview是逐行填充的,我的意思是,每次发生某些情况时。当这些条件满足时,我得到一个ID,然后用这个ID执行对数据库的请求,我从C调用一个存储过程,并将收到的ID传递给它。存储过程从多个表中进行选择,以根据传递的ID检索一些数据 一旦我从数据库中获得数据总是一行,我就从收到的数据集中创建一个PersonalData类型的新对象,如下所示:C# C Winforms:将数据模型绑定到datagridview行(逐行添加),c#,winforms,datagridview,visual-studio-2008,.net-3.5,C#,Winforms,Datagridview,Visual Studio 2008,.net 3.5,我有一个c中的winforms应用程序和VisualStudio2008中的.NET3.5 在我的表单中,我有一个DataGridView。此datagridview按以下顺序有8列: 图像:DataGridViewImageColumn DateAndTime:DataGridViewTextBoxColumn ID:DataGridViewTextBoxColumn ID2:DataGridViewTextBoxColumn 名称:DataGridViewTextBoxColumn 姓氏:D
namespace MyDataModel
{
public class PersonalData
{
public DateTime DateAndTime
{
get;
set;
}
public string ID
{
get;
set;
}
public string ID2
{
get;
set;
}
public string Name
{
get;
set;
}
public string Surname
{
get;
set;
}
public string SecondSurname
{
get;
set;
}
public string Address
{
get;
set;
}
}
}
我填充个人数据对象ds的数据集类型:
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
PersonalData personalData = new PersonalData ()
{
DateAndTime = DateTime.Now, // This value I put manually
ID = ds.Tables[0].Rows[0][0].ToString().Trim(), // ID
ID2 = ds.Tables[0].Rows[0][1].ToString().Trim(), // ID2
Name = ds.Tables[0].Rows[0][2].ToString().Trim(), // Name
Surname = ds.Tables[0].Rows[0][3].ToString().Trim(), // Surname
SecondSurname = ds.Tables[0].Rows[0][4].ToString().Trim(), // Second surname
Address = ds.Tables[0].Rows[0][5].ToString().Trim() // Address
};
}
随着这个PersonalData对象的流行,我想将它作为新行添加到datagridview中。请注意,datagridview的列图像不在数据模型中,我将根据png图像的条件添加一个或另一个图像
那么我该怎么做呢?不,在您发布的代码中,您在哪里添加了新行。您没有为网格记录数据源。不幸的是,如果网格数据源“具有”数据源,则要向网格中添加行将取决于网格数据源的设置方式。如果网格没有数据源,则只需向网格中添加一行即可。如果网格有数据源,那么在大多数情况下,您希望将新行添加到数据源,而不是网格。你的问题缺少这一重要信息。