您当前的位置: 首页 > 

寒冰屋

暂无认证

  • 0浏览

    0关注

    2286博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C#中的主从Datagridview

寒冰屋 发布时间:2020-06-08 22:35:16 ,浏览量:0

目录

介绍

改进措施

使用代码

完整代码概述

本机Windows窗体控件datagridview不支持单个控件中的主从视图。通过多数方法,这应该通过两个单独的datagridview控件完成。在本技巧中,我将讨论有关如何在单个datagridview控件中显示主从数据视图的方法。屏幕截图中显示了我们所需的典型布局,并提供了完整的代码概述。

  • 下载MasterGridView.zip-158.8 KB

介绍

我们中的许多开发人员都遇到了有关如何在单个Datagridview 控件(例如第三方应用程序Devexpress)中显示主从视图的问题。

本机Windows Forms控件datagridview 在单个控件中不支持“主从信息”视图。通过多数方法,这应该通过两个单独的datagridview 控件来完成。

在本技巧中,我将与您讨论如何在单个datagridview 控件中显示主从数据视图的方法。尽管备用Datagrid控件支持主从datagridview,但展开child datagridview 会占据整个控件的位置,这将使您的datagridview数据布局不符合数据验证所需的良好布局。我们需要的典型布局是我们在所附屏幕截图中可以看到的布局。

改进措施
  • 网格(grids)中用List对象填充。
  • 网格(grids)是完全可编辑的。
  • 网格(grids)基于类的每个属性的描述属性显示工具提示。
  • 修复了防止使用箭头键在子网格(grids)中移动的问题。
使用代码

在此示例演示中,我使用了一个List对象集合。

请执行以下非常简单的步骤:

1、声明一个引用到MasterControl的变量:

MasterGridView masterGridView1

2、加载数据:

private void Form1_Load(object sender, EventArgs e)
{            
      masterGridView1.DataSource = Persona.getPersonas();
}

3、将子级TabControl设置为与父级datagridview相同的层次结构:

masterGridView1.SetChildTabcontrol();

完整代码概述
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

// Developed by: Gani Weecom
// Email:ganiweecom@yahoo.com

// Migration to C# by Telerik
//=======================================================
//Service provided by Telerik (www.telerik.com)
//Conversion powered by NRefactory.
//Twitter: @telerik
//Facebook: facebook.com/telerik
//=======================================================
// and magic touch by kevin@diaz.pe ;)

namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            // Important: Set child TabControl on the same hierarchy than parent datagridview
            masterGridView1.SetChildTabcontrol();
        }

        private void Form1_Load(object sender, EventArgs e)
        {            
            masterGridView1.DataSource = Persona.getPersonas();

        }
    }
}

 

关注
打赏
1665926880
查看更多评论
立即登录/注册

微信扫码登录

0.1326s