`

winform中的datagridview数据添加方式

 
阅读更多

winform中的datagridview数据添加方式,在我现在用的,有常用的两种,一种是直接绑定数据,还有就是对DataGridView添加行数据。因为winform开发的CS结果里面,没有后台行内绑定的方法,只有在bs里面才有

第一种,绑定数据源:

  DataSet ds = new DataSet();
                SqlDataAdapter adapter = new SqlDataAdapter();
                try
                {
                    gmyConn = gmyConn == null ? mySqlConnection.GetConn() : gmyConn;

                        SqlCommand cmd = new SqlCommand(strSql, gmyConn);
                        cmd.ExecuteNonQuery();
                        adapter.SelectCommand = cmd;
                        adapter.Fill(ds, "H_Children_Basic");
                        dgvChildren.DataSource = ds.Tables[0];

                   

                }
                catch (Exception ex)
                {
                    MessageBox.Show("系统故障!" + ex.Message);
                    return;
                }
这种方法,比较简单,方便,但是,有个缺点,就是,操作多个表的数据,就不是很好用了。

所以,在绑定多张表的数据的时候,我又去想了想,还有一种方法,更好用,

第二种方法,对控件DataGirdView添加行内数据

上面是绑定一个dataTable。下面的方法就是将查出来的主表,添加到一个List<T>集合里面。

然后,对其集合循环,就可以了,下面我们看看代码怎么实现吧。

 

添加集合:

  SqlCommand cmd = gmyConn.CreateCommand();
                cmd.CommandText = "select * from H_Acticle_Repertory where ActicleId='" + GoodsId + "' and ImportTime  between '"+this.dtpkStart.Value+"' and '"+this.dtpkEnd.Value+"'";
                using (SqlDataReader reader = cmd.ExecuteReader())
                {
                  
                    while (reader.Read()) //循环读取数据行
                    {
                        H_Acticle_Repertory h_acticle_rep = new H_Acticle_Repertory();
                        h_acticle_rep.ActicleId = Convert.ToInt32(reader["ActicleId"]);
                        h_acticle_rep.HeadName = (string)reader["HeadName"];
                        h_acticle_rep.ImportTime = Convert.ToDateTime(reader["ImportTime"]);
                        h_acticle_rep.ImportNum = Convert.ToInt32(reader["ImportNum"]);
                        h_Acticle_repertorys.Add(h_acticle_rep);
                    }
                }

 

行数据添加

private void setDataGridView(string GoodsId)
        {
            if (h_Acticle_repertorys != null)
            {
                int number = 1;
                foreach (H_Acticle_Repertory h_acticle1 in getRepertoryByGoodsId(GoodsId))
                {
                    this.dgvTotal.Rows.Add(number, getGoodsByID(h_acticle1.ActicleId.ToString()).ActicleName, getGoodsByID(h_acticle1.ActicleId.ToString()).WorkShop, h_acticle1.ImportNum, h_acticle1.ImportTime, h_acticle1.HeadName);
                 number++;//添加的一个序号
                }
              
            }
        }

在这里面,还可以写很多方法,返回值,就可以实现多表添加数据了。

 

 

 

分享到:
评论

相关推荐

    winform中DatagridView中文本输入框输入改变事件

    在Windows Forms应用程序中,`DataGridView`控件是一个非常重要的组件,用于展示数据表格形式的信息。在实际开发过程中,我们经常需要监听用户在`DataGridView`中的文本输入框(`DataGridViewTextBoxColumn`)中的...

    Winform中DataGridView中加checkBox列的用法

    在Windows Forms(Winform)开发中,`DataGridView`控件是一个强大的数据展示工具,它可以用于显示和编辑表格数据。在某些场景下,我们可能需要在`DataGridView`中添加复选框(CheckBox)列,以便用户可以对数据进行...

    C#Winform将DataGridView数据导出到Excel的两种方法

    以下是使用EPPlus将DataGridView数据导出到Excel的步骤: 1. **安装EPPlus**:首先,需要通过NuGet包管理器安装EPPlus。在Visual Studio中打开项目,右键点击“管理NuGet程序包”,搜索EPPlus,然后安装。 2. **...

    winform DataGridView表头带CheckBox全选

    在Windows Forms(Winform)开发中,`DataGridView`控件是一种常用的数据展示工具,它可以方便地展示表格数据并提供交互功能。在这个特定的场景中,我们关注的是如何在`DataGridView`的表头添加一个`CheckBox`,以便...

    DataGridView手动添加数据(非数据源绑定)

    通过计时器控制数据添加的速度和数量,可以模拟动态数据流或者实现特定的动画效果。在实际应用中,这种逻辑可能根据需要调整,例如,响应用户输入、定时任务或者其他业务逻辑。 8. **数据源绑定与手动添加的区别**...

    在Winform中实现带进度条的DataGridView控件

    在Windows Forms(Winform)开发中,我们经常需要在用户界面中展示数据处理的状态,而进度条是一个很好的可视化工具。本教程将详细讲解如何在DataGridView控件中集成进度条功能,以便用户能直观地看到数据处理的进度...

    winform DataGridView 合计行控件

    在Windows Forms(Winform)开发环境中,`DataGridView`控件是一种常用的数据展示工具,它可以方便地展示表格数据并进行交互。在某些应用中,我们可能需要在`DataGridView`的底部添加一个总计行,来显示列数据的总和...

    winform datagridview多层表头

    在Windows Forms应用开发中,`DataGridView`控件是用于显示数据网格的重要组件。当你需要创建一个具有多层表头的复杂数据展示时,`winform datagridview多层表头`是一个关键知识点。多层表头可以更好地组织和分类...

    C# WinForm (DataGridViewComboBoxColumn 绑定)自己写的,最简单实例

    在C# WinForm开发中,`DataGridView`是一个非常常用的控件,用于展示表格数据。而`DataGridViewComboBoxColumn`是`DataGridView`的一个列类型,它允许用户在单元格中选择一个值,这个值通常是从下拉列表中选取。在这...

    C#_winform_DataGridView_checkbox复选框_实现单选效果

    在C# WinForm开发中,`DataGridView`控件是一个常用的数据展示工具,它允许用户以表格形式查看和操作数据。而`DataGridView`中的复选框列(Checkbox Column)则为用户提供了一种方便的选择方式,例如在多选或单选...

    C#WinForm中DataGridView表头下拉列表

    在C# WinForm开发中,`DataGridView`是一个非常重要的控件,用于展示数据表格。它提供了丰富的功能,如数据编辑、排序、筛选等。而"DataGridView表头下拉列表"的功能,是允许用户通过表头上的下拉列表来快速筛选或...

    C# winform datagridview 里的下拉框中 既可以从下拉框里选择数据,也可以让客户自己手动往里输入数据,

    在C# WinForm开发中,`DataGridView`控件是一个常用的数据展示工具,它允许用户查看、编辑和操作表格数据。而在这个场景下,我们关注的是如何在`DataGridView`的某一列实现一个下拉框(ComboBox),这个下拉框既能...

    c# winform datagridview联合access数据库 查询 删除 添加 生成报表

    在C# WinForm应用开发中,使用DataGridView控件与Access数据库进行交互是常见的数据管理方式。这个"datagridview access 数据库 c#"的示例("ComputerManage"项目)旨在教你如何实现查询、删除、添加数据以及生成...

    winform DataGridView数据通过NPOI导出到Excel 2003 2007

    4. **遍历DataGridView数据**:逐行遍历`DataGridView`中的数据,每行对应Excel的一个新行。可以获取每一行的`DataGridViewRow`对象,然后提取单元格数据。 5. **填充工作表**:使用`Row`和`Cell`对象,将`...

    winform dataGridView插件实现增删改查

    - **新增**:在`menuStrip`的“新建”菜单项的`Click`事件中,可以创建新的数据行并添加到`dataGridView`的`Rows`集合中,同时确保数据源同步更新。 - **编辑**:通常默认`dataGridView`的单元格为可编辑状态,用户...

    c# winform datagridview 多行表头

    在C# WinForm开发中,`DataGridView`是一个非常重要的控件,它用于显示表格数据,类似于Excel电子表格。然而,标准的`DataGridView`控件不直接支持多行表头,这意味着默认情况下,表头只能显示一行文字。但在某些...

    c# winform datagridview 绑定集合中对象属性

    在C# WinForm开发中,`DataGridView`控件是一个常用的数据展示工具,它允许开发者将数据绑定到控件上,方便用户进行查看、编辑和操作。本资源主要讲解如何将集合中的对象属性绑定到`DataGridView`,从而实现数据的...

    C#winform DataGridView checkbox复选框 实现单选效果

    C#winform DataGridView checkbox复选框 实现单选效果,系统默认的是界面中多选,下午没事,做个单选的效果,同时复习下datagridview的常用知识,包含dantGridVIew的常用操作内容,注意事项,代码有点乱,学习。

    winform下datagridview分页控件

    在Windows Forms(Winform)开发环境中,`DataGridView`控件是一个强大的数据展示工具,它可以用于显示和编辑表格数据。在大型数据集的情况下,为了提高用户体验并优化性能,通常需要实现分页功能。在C#中,`...

    c# winform datagridview数据导出到Excel中

    4. 将DataGridView数据导出到Excel: 遍历DataGridView中的行和列,将数据填充到Excel工作表中: ```csharp for (int rowIndex = 0; rowIndex &lt; dataGridView.Rows.Count; rowIndex++) { for (int colIndex = 0...

Global site tag (gtag.js) - Google Analytics