Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C Winforms:将数据模型绑定到datagridview行(逐行添加)_C#_Winforms_Datagridview_Visual Studio 2008_.net 3.5 - Fatal编程技术网

C# C Winforms:将数据模型绑定到datagridview行(逐行添加)

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

我有一个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类型的新对象,如下所示:

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图像的条件添加一个或另一个图像


那么我该怎么做呢?

不,在您发布的代码中,您在哪里添加了新行。您没有为网格记录数据源。不幸的是,如果网格数据源“具有”数据源,则要向网格中添加行将取决于网格数据源的设置方式。如果网格没有数据源,则只需向网格中添加一行即可。如果网格有数据源,那么在大多数情况下,您希望将新行添加到数据源,而不是网格。你的问题缺少这一重要信息。