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

时间:2017-07-14 13:31:26

标签: c# winforms datagridview visual-studio-2008 .net-3.5

我在Visual Studio 2008中的c#和.NET 3.5中有一个winforms应用程序。

在我的表单中,我有一个DataGridView。此datagridview按此顺序有8列:

  • 图片:DataGridViewImageColumn
  • DateAndTime:DataGridViewTextBoxColumn
  • ID:DataGridViewTextBoxColumn
  • ID2:DataGridViewTextBoxColumn
  • 名称:DataGridViewTextBoxColumn
  • 姓:DataGridViewTextBoxColumn
  • SecondSurname:DataGridViewTextBoxColumn
  • 地址:DataGridViewTextBoxColumn

这个datagridview是逐行填充的,我的意思是,每次都会出现一些情况。当满足这些条件时,我得到一个ID并使用此ID我执行了对数据库的请求,我从C#调用存储过程传递它收到的ID。存储过程执行SELECT(来自几个表),以根据传递的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的类型为DataSet):

            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图像)添加图像或其他图像。

那我怎么能这样做呢?

0 个答案:

没有答案