`
jiqimiao
  • 浏览: 63213 次
  • 性别: Icon_minigender_1
  • 来自: 常州
社区版块
存档分类
最新评论

c#中如何定义内存表绑定DataGrid的简单实例

 
阅读更多

实例代码如下:

usingSystem;
usingSystem.Drawing;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Windows.Forms;
usingSystem.Data;

namespaceDataGridStyle
...{
/**////<summary>
///Form1的摘要说明。
///</summary>

publicclassDemoForm:System.Windows.Forms.Form
...{
privateSystem.Windows.Forms.DataGriddgd;
privateSystem.Windows.Forms.DataGridTableStyledataGridTableStyle1;
privateSystem.Windows.Forms.DataGridTextBoxColumndataGridTextBoxColumn1;
privateSystem.Windows.Forms.DataGridTextBoxColumndataGridTextBoxColumn2;
privateSystem.Windows.Forms.DataGridTextBoxColumndataGridTextBoxColumn3;
privateSystem.Windows.Forms.DataGridBoolColumndataGridBoolColumn1;
privateSystem.Windows.Forms.ComboBoxcboDepts;
/**////<summary>
///必需的设计器变量。
///</summary>

privateSystem.ComponentModel.Containercomponents=null;

DataTabledt;

publicDemoForm()
...{
//
//Windows窗体设计器支持所必需的
//
InitializeComponent();

//
//TODO:在InitializeComponent调用后添加任何构造函数代码
//
}


/**////<summary>
///清理所有正在使用的资源。
///</summary>

protectedoverridevoidDispose(booldisposing)
...{
if(disposing)
...{
if(components!=null)
...{
components.Dispose();
}

}

base.Dispose(disposing);
}


Windows窗体设计器生成的代码#regionWindows窗体设计器生成的代码
/**////<summary>
///设计器支持所需的方法-不要使用代码编辑器修改
///此方法的内容。
///</summary>

privatevoidInitializeComponent()
...{
System.Resources.ResourceManagerresources
=newSystem.Resources.ResourceManager(typeof(DemoForm));
this.dgd=newSystem.Windows.Forms.DataGrid();
this.dataGridTableStyle1=newSystem.Windows.Forms.DataGridTableStyle();
this.dataGridTextBoxColumn1=newSystem.Windows.Forms.DataGridTextBoxColumn();
this.dataGridTextBoxColumn2=newSystem.Windows.Forms.DataGridTextBoxColumn();
this.dataGridTextBoxColumn3=newSystem.Windows.Forms.DataGridTextBoxColumn();
this.dataGridBoolColumn1=newSystem.Windows.Forms.DataGridBoolColumn();
this.cboDepts=newSystem.Windows.Forms.ComboBox();
((System.ComponentModel.ISupportInitialize)(
this.dgd)).BeginInit();
this.SuspendLayout();
//
//dgd
//
this.dgd.DataMember="";
this.dgd.HeaderForeColor=System.Drawing.SystemColors.ControlText;
this.dgd.Location=newSystem.Drawing.Point(0,0);
this.dgd.Name="dgd";
this.dgd.PreferredRowHeight=21;
this.dgd.Size=newSystem.Drawing.Size(400,136);
this.dgd.TabIndex=0;
this.dgd.TableStyles.AddRange(newSystem.Windows.Forms.DataGridTableStyle[]...{
this.dataGridTableStyle1}
);
this.dgd.CurrentCellChanged+=newSystem.EventHandler(this.dgd_CurrentCellChanged);
//
//dataGridTableStyle1
//
this.dataGridTableStyle1.DataGrid=this.dgd;
this.dataGridTableStyle1.GridColumnStyles.AddRange(newSystem.Windows.Forms.DataGridColumnStyle[]...{
this.dataGridTextBoxColumn1,
this.dataGridTextBoxColumn2,
this.dataGridTextBoxColumn3,
this.dataGridBoolColumn1}
);
this.dataGridTableStyle1.HeaderForeColor=System.Drawing.SystemColors.ControlText;
this.dataGridTableStyle1.MappingName="";
this.dataGridTableStyle1.PreferredRowHeight=21;
//
//dataGridTextBoxColumn1
//
this.dataGridTextBoxColumn1.Alignment=System.Windows.Forms.HorizontalAlignment.Center;
this.dataGridTextBoxColumn1.Format="";
this.dataGridTextBoxColumn1.FormatInfo=null;
this.dataGridTextBoxColumn1.HeaderText="编号";
this.dataGridTextBoxColumn1.MappingName="Id";
this.dataGridTextBoxColumn1.NullText="暂无";
this.dataGridTextBoxColumn1.Width=75;
//
//dataGridTextBoxColumn2
//
this.dataGridTextBoxColumn2.Format="";
this.dataGridTextBoxColumn2.FormatInfo=null;
this.dataGridTextBoxColumn2.HeaderText="姓名";
this.dataGridTextBoxColumn2.MappingName="Name";
this.dataGridTextBoxColumn2.NullText="未知";
//
//dataGridTextBoxColumn3
//
this.dataGridTextBoxColumn3.Format="";
this.dataGridTextBoxColumn3.FormatInfo=null;
this.dataGridTextBoxColumn3.HeaderText="部门";
this.dataGridTextBoxColumn3.MappingName="Dept";
this.dataGridTextBoxColumn3.Width=75;
//
//dataGridBoolColumn1
//
this.dataGridBoolColumn1.AllowNull=false;
this.dataGridBoolColumn1.FalseValue=false;
this.dataGridBoolColumn1.HeaderText="婚否";
this.dataGridBoolColumn1.MappingName="IsMarried";
this.dataGridBoolColumn1.NullValue=((object)(resources.GetObject("dataGridBoolColumn1.NullValue")));
this.dataGridBoolColumn1.TrueValue=true;
this.dataGridBoolColumn1.Width=75;
//
//cboDepts
//
this.cboDepts.Cursor=System.Windows.Forms.Cursors.Arrow;
this.cboDepts.Dock=System.Windows.Forms.DockStyle.Top;
this.cboDepts.Items.AddRange(newobject[]...{
"开发部",
"客服部",
"人力资源部"}
);
this.cboDepts.Location=newSystem.Drawing.Point(0,0);
this.cboDepts.Name="cboDepts";
this.cboDepts.Size=newSystem.Drawing.Size(400,20);
this.cboDepts.TabIndex=1;
this.cboDepts.SelectedIndexChanged+=newSystem.EventHandler(this.cboDepts_SelectedIndexChanged);
//
//DemoForm
//
this.AutoScaleBaseSize=newSystem.Drawing.Size(6,14);
this.ClientSize=newSystem.Drawing.Size(400,141);
this.Controls.Add(this.cboDepts);
this.Controls.Add(this.dgd);
this.Name="DemoForm";
this.StartPosition=System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text="DataGrid样式";
this.Load+=newSystem.EventHandler(this.DemoForm_Load);
((System.ComponentModel.ISupportInitialize)(
this.dgd)).EndInit();
this.ResumeLayout(false);

}

#endregion


/**////<summary>
///应用程序的主入口点。
///</summary>

[STAThread]
staticvoidMain()
...{
Application.Run(
newDemoForm());
}


privatevoidDemoForm_Load(objectsender,System.EventArgse)
...{
dt
=newDataTable();//创建内存表
dt.Columns.Add("Id",typeof(int));//定义内存表的字段
dt.Columns.Add("Name",typeof(string));
dt.Columns.Add(
"Dept",typeof(string));
dt.Columns.Add(
"IsMarried",typeof(bool));

dt.Columns[
"IsMarried"].AllowDBNull=false;
dt.Columns[
"IsMarried"].DefaultValue=true;

DataRowdr
=dt.NewRow();
dr[
"Id"]=9922;
dr[
"Name"]="Mike";
dr[
"Dept"]="开发部";
dr[
"IsMarried"]=false;
dt.Rows.Add(dr);

dgd.DataSource
=dt;

dataGridTextBoxColumn3.TextBox.Controls.Add(cboDepts);
//在DataGrid中添加下拉选择框

}


privatevoidcboDepts_SelectedIndexChanged(objectsender,System.EventArgse)
...{

if(dgd.CurrentRowIndex>=dt.Rows.Count)
dgd[dgd.CurrentCell]
=cboDepts.Text;
else
dt.Rows[dgd.CurrentRowIndex][
"Dept"]=cboDepts.Text;
}


privatevoiddgd_CurrentCellChanged(objectsender,System.EventArgse)
...{
if(dgd.CurrentCell.ColumnNumber==2)cboDepts.Text=dgd[dgd.CurrentCell].ToString();
}

}

}

这个实例讲述了内存表的使用以及如何绑定DataGrid,还有就是为DataGrid添加一些其他的控件,如下拉选择框,选择框等等,让DataGrid更加丰富

分享到:
评论

相关推荐

    简单的DataGrid绑定

    2. 绑定DataGrid:在XAML中,我们先声明DataGrid控件,并为它的`ItemsSource`属性设置数据源: ```xml &lt;DataGrid x:Name="myDataGrid" AutoGenerateColumns="True"&gt; &lt;/DataGrid&gt; ``` 在这里,`AutoGenerateColumns...

    wpf中DataGrid数据双向绑定

    在这个特定的场景中,“wpf中DataGrid数据双向绑定”指的是如何配置DataGrid以便在用户界面(UI)上的操作能够即时更新后端数据,并且当后端数据发生变化时,UI也会相应地更新。 双向绑定的概念基于MVVM(Model-...

    C# DataGrid数据绑定实例代码

    通过这个简单的DataGrid数据绑定实例,可有效帮助新手学会C#最基本的数据库操作,这些操作主要有使用DBConnection连接数据源或数据库,使用DataSet设定数据对象,使用DataGrid绑定数据并显示,这些都是基础的知识,...

    c# DataGrid 中绑定CoboBox控件

    本篇文章将详细讲解如何在C#的DataGrid中绑定ComboBox控件。 首先,理解DataGrid的基本结构是必要的。DataGrid通常与数据源(如DataTable、BindingSource或实体框架等)关联,它会根据数据源的字段自动创建列。然而...

    C#WPF之DataGrid用法

    ### C# WPF中DataGrid的使用详解 #### 一、引言 DataGrid是WPF框架中的一个重要控件,用于展示数据集。它提供了强大的数据绑定能力,并且支持多种数据操作,如增删改查及分页等功能。本文旨在通过实例详细讲解...

    c# datagrid更新实例

    在C#编程中,`DataGridView`控件是Windows Forms应用程序中常用的数据展示和编辑工具,它允许用户以表格形式查看和操作数据。本教程将深入探讨如何在C#中使用`DataGridView`进行数据的更新操作,包括从数据库加载...

    WPF DataGrid ComboBox下拉框数据绑定 代码实例

    在本文中,我们将深入探讨如何在WPF(Windows Presentation Foundation)中使用DataGrid控件结合ComboBox实现数据绑定。WPF是.NET Framework的一部分,提供了一种强大的UI开发工具,支持丰富的图形效果和数据绑定...

    C#数据集绑定多个实例

    这些示例可能会覆盖从简单的单表绑定到复杂的多表关联绑定,以及处理用户输入和事件响应的实例。 总的来说,掌握C#数据集绑定多个实例的技术,对于开发高效、灵活的数据库应用至关重要。通过数据集和DataGrid的结合...

    WPF下DataGrid每行设置不同的ComboBox的数据绑定

    在这个例子中,我们通过RelativeSource AncestorType=DataGridRow找到了当前行的DataContext,即MyDataItem对象,然后从中获取ComboBoxOptions属性作为ComboBox的ItemSource。这样,每个ComboBox的数据源就是与其...

    WPF在DataGrid列中使用ComboBox绑定,改变ComboBox可回传至绑定的实体,ComboBox绑定的是一个实体

    WPF在DataGrid列中使用ComboBox绑定,改变ComboBox可回传至绑定的实体, 网上找了好久,终于搞定了,不是那个用枚举的例子!!ComboBox绑定的是一个实体列表. 程序名字叫 给唐僧选老婆!哈哈

    C#实现给DataGrid单元行添加双击事件的方法

    在C#后台代码中,我们需要定义一个处理DataGrid的ItemDataBound事件的方法。例如: ```csharp protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e) { // ... 事件处理代码 } `...

    C#160使用对象ArrayList填充DataGrid 源代码

    总之,这个示例展示了如何在C#中使用ArrayList存储对象,并将这些对象的数据填充到DataGrid控件中。虽然现代的C#编程倾向于使用更现代的数据结构,但理解ArrayList和DataGrid的交互对于维护旧代码或理解.NET框架的...

    WPF DataGrid 中显示图片的小例子

    在Windows Presentation Foundation (WPF) 中,DataGrid控件是一个非常强大的数据展示工具,它可以用于显示和编辑结构化的数据。然而,除了基本的文本和数字数据外,有时我们还需要在DataGrid中显示图像。本教程将...

    siverlight中根据XML模板生成动态类绑定到DataGrid源码例子

    总结来说,这个示例展示了如何在Silverlight中利用XML定义数据模型,动态生成类,然后将这些类绑定到DataGrid以实现数据的动态展示。这涉及到XML解析、动态代码生成、数据绑定和UI设计等多个重要知识点,对于理解和...

    打印DataGrid数据实例

    这个实例将探讨如何利用C#编程语言和XPS(XML Paper Specification)格式来实现`DataGrid`数据的打印功能。XPS是一种开放标准,用于定义电子文档的外观和结构,类似于Adobe的PDF格式。 首先,我们需要理解`DataGrid...

    C#读取XML文件并显示在DataGrid组件中

    在C#编程中,XML文件常用于存储结构化数据,因为它们易于理解,且与语言无关。本教程将深入探讨如何使用C#读取XML文件并将其内容展示在DataGrid组件上,这是一个常见且实用的功能,尤其适用于数据展示和管理。 首先...

    C#数据绑定代码

    首先,加载XML文件到内存,然后创建一个`XPathNavigator`或`XmlNodeReader`实例,用于在数据绑定过程中提供数据源。 例如,以下代码展示了如何用XML文件初始化一个`DataSet`,然后将其绑定到控件: ```csharp // ...

    c#源码DataGrid中显示GIF动画

    在C#编程环境中,开发人员经常需要在用户界面中展示各种数据,而DataGrid控件是.NET Framework中用于展示表格数据的重要组件。然而,标准的DataGrid控件并不直接支持显示GIF动画,因为它的设计初衷是用于静态数据的...

    一个基于C#+ASP.NET实现可以进行DataGrid全数据记录进行编辑维护的程序例子

    本示例程序"一个基于C#+ASP.NET实现可以进行DataGrid全数据记录进行编辑维护的程序例子"是针对DataGrid控件的一个具体应用,它允许用户在前端对表格中的所有数据进行编辑和维护,极大地提高了数据操作的便利性。...

    C#DataGrid和ListView案例

    在C#中,DataGrid可以轻松绑定到数据源,例如DataSet、DataTable或ArrayList,提供排序、筛选和编辑功能。例如,"DGV001"可能是一个展示数据库表格数据的实例,其中包含了行、列以及各种操作按钮,用户可以直接在...

Global site tag (gtag.js) - Google Analytics