当前位置:文档之家› C# WinForm 中ComboBox数据绑定的问题

C# WinForm 中ComboBox数据绑定的问题

C# WinForm 中ComboBox数据绑定的问题
C# WinForm 中ComboBox数据绑定的问题

Visual C#中的数据绑定

2002-02-26 15:49作者:阿虎出处:yesky责任编辑:方舟

五.复杂型组件的数据绑定:

在上面的介绍中,了解到对复杂型组件的数据绑定是通过设定组件的某些属性来完成数据绑定的。首

先来介绍一下ComboBox组件的数据绑定.

(1).ComboBox组件的数据绑定:

在得到数据集后,只有设定好ComboBox组件的的三个属性就可以完成数据绑定了,这三个属性是:、"DisplayMember"、"ValueMember"。其中"DataSource"是要显示的数据集,"DisplayMember"是ComboBox 组件显示的字段,"ValueMember"是实际使用值。具体如下:

ComboBox1.DataSource = myDataSet ;

ComboBox1.DisplayMember = "person.xm" ;

ComboBox1.ValueMember = "person.xm" ;

注释:此时绑定是Access 2000数据库中"person"表的"xm"字段。由此可以得到ComboBox组件数据绑定的源程序代码(Combo01.cs),本代码操作数据库是Access 2000:

public class Form1 : Form

{

private ComboBox ComboBox1 ;

private Button button1 ;

private System.Data.DataSet myDataSet ;

private https://www.doczj.com/doc/4214702675.html,ponentModel.Container components = null ;

public Form1 ( )

{

file://打开数据链接,得到数据集

GetConnect ( ) ;

InitializeComponent ( ) ;

}

file://清除程序中使用过的资源

protected override void Dispose ( bool disposing )

{

if ( disposing )

{

if ( components != null )

{

components.Dispose ( ) ;

}

}

base.Dispose ( disposing ) ;

}

private void GetConnect ( )

{

file://创建一个OleDbConnection

string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = db.mdb" ; OleDbConnection myConn = new OleDbConnection ( strCon ) ;

string strCom = " SELECT * FROM person " ;

file://创建一个DataSet

myDataSet = new DataSet ( ) ;

myConn.Open ( ) ;

file://用OleDbDataAdapter 得到一个数据集

OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ; file://把Dataset绑定person数据表

myCommand.Fill ( myDataSet , "person" ) ;

file://关闭此OleDbConnection

myConn.Close ( ) ;

}

private void button1_Click ( object sender , System.EventArgs e )

{

ComboBox1.DataSource = myDataSet ;

ComboBox1.DisplayMember = "person.xm" ;

ComboBox1.ValueMember = "person.xm" ;

}

static void Main ( )

{

Application.Run ( new Form1 ( ) ) ;

}

}

图03:对ComboBox组件数据绑定的程序界面得到了ComboBox组件对本地数据库的数据绑定程序,也就十分方便的得到ComboBox组件绑定Sql Server 2000源程序代码(Combox02.cs)具体如下:

public class Form1 : Form

{

private ComboBox ComboBox1 ;

private Button button1 ;

private System.Data.DataSet myDataSet ;

private https://www.doczj.com/doc/4214702675.html,ponentModel.Container components = null ;

public Form1 ( )

{

file://打开数据链接,得到数据集

GetConnect ( ) ;

InitializeComponent ( ) ;

}

file://清除程序中使用过的资源

protected override void Dispose ( bool disposing )

{

if ( disposing )

{

if ( components != null )

{

components.Dispose ( ) ;

}

}

base.Dispose ( disposing ) ;

}

private void GetConnect ( )

{

// 设定数据连接字符串,此字符串的意思是打开Sql server数据库,服务器名称为server1,数据库为data1 string strCon = "Provider = SQLOLEDB.1 ; Persist Security Info = False ; User ID = sa ; Initial Catalog = data1 ; Data Source = server1 " ;

OleDbConnection myConn = new OleDbConnection ( strCon ) ;

myConn.Open ( ) ;

string strCom = " SELECT * FROM person " ;

file://创建一个DataSet

myDataSet = new DataSet ( ) ;

file://用OleDbDataAdapter 得到一个数据集

OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;

file://把Dataset绑定person数据表

myCommand.Fill ( myDataSet , " person " ) ;

file://关闭此OleDbConnection

myConn.Close ( ) ;

}

private void button1_Click ( object sender , System.EventArgs e )

{

ComboBox1.DataSource = myDataSet ;

ComboBox1.DisplayMember = "person.xm" ;

ComboBox1.ValueMember = "person.xm" ;

}

static void Main ( )

{

Application.Run ( new Form1 ( ) ) ;

}

}

C# WinForm 中ComboBox数据绑定的问题

2009-12-29 09:24

怎样让WinForm中的ComboBox显示表中的一个字段,同时又绑定另一个字段?

在Web中的ComboBox这样写可以绑定两个值:

https://www.doczj.com/doc/4214702675.html,boBox1.DataTextField="B000602";//显示中文,方便用户选择

https://www.doczj.com/doc/4214702675.html,boBox1.DataValueField="B000601";//绑定与选择对应的另一个值https://www.doczj.com/doc/4214702675.html,boBox1.DataBind();

但是在WinForm程序中该怎么写啊?

0******************************************************************

DataSet ds = new DataSet();//这个DataSet是你从数据库里取出来的值

string[] arr = new string[ds.Tables[0].Rows.Count];

for (int i = 0; i < arr.Length; i++)

{

arr[i] = ds.Tables[0].Rows[i][2].ToString();

}

textBox1.AutoCompleteCustomSource.AddRange(arr);

textBox1.AutoCompleteSource =

AutoCompleteSource.CustomSource;

textBox1.AutoCompleteMode =

AutoCompleteMode.SuggestAppend;

1.******************************************************************* 假设combobox绑定的列表为DataSet2的ListTable表(含有

ListID, ListName字段),需要绑定的记录字

段为DataSet1的Table1表的ListID字段

combobox.DataSource = dataset2.Tables["ListTable"]; combobox.DisplayMember = "ListName";

combobox.ValueMember = "ListID";

combobox.DataBindings.Add("SelectedValue", dataset1, "Table1.List ID");

2.***************************************************************** //dt为数据表,ID,Name为dt的两个字段:

comboBox1.DataSource = dt ;

comboBox1.ValueMember ="ID";

comboBox1.DisplayMember ="Name";

3.******************************************************************

SqlConnection con = new SqlConnection

("server=192.168.2.198;uid=sa;pwd=sa;database=northwind"); SqlCommand cmd = con.CreateCommand();

https://www.doczj.com/doc/4214702675.html,mandText = "Select * from Customers where countr y='USA'";

SqlDataAdapter adp = new SqlDataAdapter();

adp.SelectCommand = cmd;

DataSet ds = new DataSet();

adp.Fill(ds, "Customers");

comboBox1.DataSource = ds.Tables["Customers"];

comboBox1.DisplayMember = "CompanyName";

comboBox1.ValueMember = "CompanyName";

++++++++++++++++或者++++++++++++++++++++++

SqlConnection con = new SqlConnection

("server=192.168.2.198;uid=sa;pwd=sa;database=northwind"); SqlCommand cmd = con.CreateCommand();

https://www.doczj.com/doc/4214702675.html,mandText = "Select * from Customers where countr

y='USA'";

SqlDataAdapter adp = new SqlDataAdapter();

adp.SelectCommand = cmd;

DataSet ds = new DataSet();

adp.Fill(ds, "Customers");

comboBox1.DataSource = ds;

comboBox1.DisplayMember = "https://www.doczj.com/doc/4214702675.html,panyName";

comboBox1.ValueMember = "https://www.doczj.com/doc/4214702675.html,panyName";

++++++++++++往DataGrid里添加下拉列表++++++++++++ DataGridTableStyle dgt = new DataGridTableStyle();

dgt.MappingName = "test";

DataGridTextBoxColumn dgtbc = new DataGridTextBoxColumn(); dgtbc.MappingName = "name";

dgtbc.HeaderText= "name";

ComboBox cmbFunctionArea = new ComboBox(); cmbFunctionArea.DataSource = DtGeneral;

cmbFunctionArea.DisplayMember = "name"; cmbFunctionArea.ValueMember = "value";

cmbFunctionArea.Cursor = Cursors.Arrow;

cmbFunctionArea.DropDownStyle= ComboBoxStyle.DropDownList;

cmbFunctionArea.Dock = DockStyle.Fill;

dgtbc.TextBox.Controls.Add(cmbFunctionArea);

dgt.GridColumnStyles.Add(dgtbc);

cmbFunctionArea.SelectionChangeCommitted +=new EventHandler

(cmbFunctionArea_SelectionChangeCommitted);

+++++++++++++修改++++++++++++++++

private void cmbFunctionArea_SelectionChangeCommitted(object se nder, EventArgs e)

{

((DataTable)dataGrid1.DataSource).Rows[dataGrid1.CurrentRowIndex][0]

= ((ComboBox)

sender).Text.ToString();

dataGrid1.SetDataBinding(DtGeneral,null);

}

4.******************************************************************* *****

DataBindings是一般控件所具有的,是绑定数据源的某一个字段

combobox.DataBindings.Add("要绑定控件的属性如下拉框的

SelectedValue\Text", 数据源如

dataset1, "导航路径如Table1.ListID");

但是,DataBindings只能绑定一个字段,而绑定多个字段时典型的如列表控件Combobox、ListBox控件,

需要键值对,这时就需要指定DataSource(实现IList接口就行),然后指定ValueMember、

DisplayMember 。

所以,如果是下拉列表,你只想绑定一个字段,用DataBindings可以,想绑定两个字段

用combobox.DataSource = 数据源;

combobox.DisplayMember = 对应显示字段名;

combobox.ValueMember = 对应存储字段名;

不要同时用

5.******************************************************************* ******

绑定以后就可以了,读取选中信息:

object val = combobox.SelectedValue;

string txt = combobox.Text;

SelectedIndex、SelectedItem表示选中了哪项目,也可以设置

combobox.SelectedIndex = 0 或

直接设置 combobox.SelectedValue = "一个已存在的值";

或 combobox.Text = "一个已存

在的文本";

如果是绑定的,一定要设置的是一个在绑定在已存在的项。

例如有一个部门表的DataTable,部门ID是一个字段,用于唯一标识一个部门ID,部门名称是另一个字段

,用于唯一标识ID对应的部门名称

绑定如下:

https://www.doczj.com/doc/4214702675.html,boBox1.DataSource = 部门表; //只要实现了IList接口就可以

https://www.doczj.com/doc/4214702675.html,boBox1.DisplayMember="部门名称";//显示中文,方便用户选

择对应WebForm的

DataTextField

https://www.doczj.com/doc/4214702675.html,boBox1.ValueMember="部门ID"; //绑定与选择对应的另一个值

需要着重说明的时,如果你有一个类Item如有两个属性:A、B,同时你做了ItemCollection类用来表示多

个Item,绑定时:

https://www.doczj.com/doc/4214702675.html,boBox1.DataSource = myItemCollection;

https://www.doczj.com/doc/4214702675.html,boBox1.DisplayMember="A";

https://www.doczj.com/doc/4214702675.html,boBox1.ValueMember="B";

注意成员一定是属性名,而不是其它

同样,数组也是,自己实践就可明白了!

C# ComBox 数据列表绑定方式

this.CmbSex.Items.AddRange(new object[] { "男","女" });//邦定数据

数据绑定技术总结

数据绑定技术总结 关于数据绑定技术,现在做如下总结: 先看如下代码: //数据绑定 protected void DataBind() { if (type == 0) { string connectionstring = @"Server=.;database=db_user;uid=sa;pwd=123456"; SqlConnection myconnection = new SqlConnection(connectionstring); //链接数据库 myconnection.Open(); SqlDataAdapter da = new SqlDataAdapter("select * from Day6tb_user order by u_ID asc", myconnection); DataTable dt = new DataTable(); da.Fill(dt); gvlist.DataSource = dt; gvlist.DataBind();//调用DataBind放法 myconnection.Close(); } else { string connectionstring = @"Server=.;database=db_user;uid=sa;pwd=123456"; SqlConnection myconnection = new SqlConnection(connectionstring); myconnection.Open(); SqlCommand cmd = new SqlCommand("select * from Day6tb_user where u_Name like '%'+@name+'%' order by u_ID asc",myconnection);

第9章_数据绑定控件

第九章数据绑定控件 https://www.doczj.com/doc/4214702675.html, 2.0技术依靠两种类型的服务器控件实现数据访问:数据源控件和数据绑定控件。前者负责连接和访问数据库,而后者负责将从数据库中获取的数据显示出来。 数据绑定控件有很多,前面讲述数据源控件的时候,我们用到的GridView控件,就是一个功能强大、最为常用的数据绑定控件。本章主要围绕https://www.doczj.com/doc/4214702675.html, 2.0中诸如GridView、DetailsView以及FormV iew控件等几个重要数据绑定控件的使用方法展开讨论。 9.1 数据绑定控件概述 数据绑定控件主要用于在Web页面显示数据。一般情况下,数据绑定控件与数据源控件进行绑定,以极其灵活的方式将数据源控件提供的数据资料显示出来。 本质上来说,数据绑定控件是将数据作为标记向发出请求的客户端设备或浏览器呈现的用户接口(UI)控件。主要包括: 1)、列表控件:以各种列表形式呈现数据;2)、AdRotator:可以将广告作为图像呈现在页面上;3)、复合控件:包括DetailView、FormView和GridV iew等控件;4)、分层控件:主要有TreeView、Menu等控件。图9.1给出了数据绑定控件的层次结构。 图9.1 https://www.doczj.com/doc/4214702675.html, 2.0 中的数据绑定控件的层次结构

图中,BaseDataBoundControl是个抽象类,所有数据绑定控件都是从该抽象类派生的。在这个抽象类中,定义了几个重要的属性和一个至关重要的方法成员。 1)、DataSource属性:指定数据绑定控件的数据来源,显示的时候程序将会从这个数据源中获取数据并显示;2)、DataSourceID属性:指定数据绑定控件的数据源控件的ID, 显示的时候程序将会根据这个ID找到相应的数据源控件,并利用这个数据源控件中指定方法获取数据并显示;3)、DataBind()方法:当指定了数据绑定控件的DataSource属性或者DataSourceID属性之后,再调用DataBind()方法才会显示绑定的数据。并且在使用数据源时,会首先尝试使用DataSourceID属性标识的数据源,如果没有设置DataSourceID时才会用到DataSource属性标识的数据源。也就是说DataSource和DataSourceID两个属性不能同时使用。 数据绑定控件显示格式丰富,包括常见的表格、树形、报表等多种表达形式;同时,这些控件又具有丰富的功能,譬如支持对数据资料的分页、排序、添加、修改、删除等操作。 9.2 GridView控件 9.2.1 GridView控件简介 GridView控件是早期DataGrid控件的更新,功能更强大。她采用表格形式显示从数据源中获取的数据。表9.1对GridView控件的功能进行了简单描述。 表9.1 GridView控件的功能描述 GridView支持大量属性,这些属性属于如下几大类:行为、外观、样式、状态和模板等。表9.2~表9.4描述了其主要的行为、外观、样式等属性。 表9.2 GridView控件的行为属性

TreeView绑定SQL数据源

使用TreeView绑定SQL数据源 这里采用了在页面一loading就把数据绑到TreeView的各节点的方式,而不是在展开时再作子节点的绑定,因此在点击父节点时就不会有刷新的感觉了。呵呵,代码并没优化....... aspx页面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> 树形节点绑定

.cs文件: using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class Default2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindTree(); } } public void BindTree() { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["CreativeConnectionString"].Connectio

第20次课第六章 数据绑定技术基础

新课导入: 复习上次课所讲的内容。 教学过程: 第六章数据绑定技术 6.1 绑定技术基础 在https://www.doczj.com/doc/4214702675.html,中,开发人员可以使用声明式的语法对控件进行数据绑定,而且大多数服务器控件都提供了对数据绑定的支持。数据绑定表达式的语法格式为: <%#数据源%> 数据绑定允许在控件的声明代码中为控件的某个属性指定一个绑定表达式,从而将表达式的内容与该控件进行绑定。 6.1.1 简单绑定 简单绑定一般只绑定单个值到某个控件,所以数据源可以是表达式、变量、方法、控件的属性等。 1.当绑定到Label、TextBox等控件时,需要将绑定表达式赋值给控件的Text属性: Text=’<%#数据源%>’ 2.采用数据绑定技术还可以使用javascript调用C#定义的变量和方法,此时可以将绑定表达式赋值给一个javascript变量: var a=’<%#数据源%>’ 简单绑定需要注意以下几点: (1).数据绑定表达式只有在父控件容器中的DataBind()方法被调用时才会被执行。DataBind()是Page和所有服务器控件的方法,通常在Page_Load事件中被调用。可将上例中的Page.DataBind();语句注释掉,再看一下运行结果。 (2).绑定变量和方法的返回值时,该变量和方法必须声明为public或protected类型,否则会提示错误:“╳╳╳不可访问”,因为它受保护级别限制。 (3).如果数据绑定表达式中使用了双引号,则<%#数据源%>的最外层要用单引号,否则会提示“服务器标记的格式不正确”的错误信息,其他情况下使用双引号或者单引号都可以。将下面语句的单引号改成双引号即可得到印证。 ’>

采用HierarchicalDataTemplate数据模板和treeview在MVVM模式下实现行政区划树

摘要:采用HierarchicalDataTemplate数据模板和treeview在MVVM模式下实现行政区划树, 支持勾选。勾选父节点,子节点回全部自动勾选;子节点部分勾选时,父节点半勾选;子节点全部勾选时,父节点勾选。反之亦然。 HierarchicalDataTemplate是分层数据模板,通常用于tree,menu等层级控件。 HierarchicalDataTemplate的ItemsSource属性绑定下一级数据源。 Model为行政区数据实体类,通常访问数据库获取数据并构建对象。 ViewModel为界面的抽象模型,表示界面的数据和行为,是Model和View的桥梁。 view就是界面。 一、代码 1、Model using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;

namespace WpfHierarchicalTemplate { public class District { public int ID { get; set; } public string Xzqhdm { get; set; }//行政区划代码 public string Xzqhmc { get; set; }//行政区划名称 public int Level { get; set; }//级别,0全国,1省,2地市,3县,4,乡镇,5,村 public IList Children { get; set; } public District Parent { get; set; } } } 2、ViewModel using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections.ObjectModel; using System.Windows.Media; using System.Windows.Media.Imaging; namespace WpfHierarchicalTemplate { publicclass DistrictNodeViewModel :ModelCommon.NotifyObject { privatebool? isSelected = false; publicbool? IsSelected { get{ return isSelected; } set { isSelected = value; RaisePropertyChanged("IsSelected");

数据源控件SqlDataSource-推荐下载

肇庆学院计算机学院 数据源控件 实验报告 实验名称 数据源控件SqlDataSource 班 级 10网络工程1班姓 名 陈琳炜 学 号 201024133124 实验地点实验楼506 日 期2013.6.30 成 绩 一、实验目的: (1)掌握数据源控件的使用方法,可迅速搭建前台与后台数据库信息链接; (2)掌握数据源控件中对数据进行筛选方法,懂得应用WHERE 语句(非编程方式就能使得按 一定规则获取数据); (3)掌握多个数据源控件间搭配使用方法技巧。 二、实验环境: Windows 系列操作系统的计算机,软件visual studio 2010。 三、实验内容、步骤、实验结果与分析: 祥见附页 5、实验总结 掌握多个数据源控件间搭配使用方法技巧。 、管路敷设技术通过管线不仅可以解决吊顶层配置不规范高中资料试卷问题,而且可保障各类管路习题到位。在管路敷设过程中,要加强看护关于管路高中资料试卷连接管口处理高中资料试卷弯扁度固定盒位置保护层防腐跨接地线弯曲半径标高等,要求技术交底。管线敷设技术包含线槽、管架等多项方式,为解决高中语文电气课件中管壁薄、接口不严等问题,合理利用管线敷设技术。线缆敷设原则:在分线盒处,当不同电压回路交叉时,应采用金属隔板进行隔开处理;同一线槽内,强电回路须同时切断习题电源,线缆敷设完毕,要进行检查和检测处理。、电气课件中调试对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行 高中资料试卷调整试验;通电检查所有设备高中资料试卷相互作用与相互关系,根据生产工艺高中资料试卷要求,对电气设备进行空载与带负荷下高中资料试卷调控试验;对设备进行调整使其在正常工况下与过度工作下都可以正常工作;对于继电保护进行整核对定值,审核与校对图纸,编写复杂设备与装置高中资料试卷调试方案,编写重要设备高中资料试卷试验方案以及系统启动方案;对整套启动过程中高中资料试卷电气设备进行调试工作并且进行过关运行高中资料试卷技术指导。对于调试过程中高中资料试卷技术问题,作为调试人员,需要在事前掌握图纸资料、设备制造厂家出具高中资料试卷试验报告与相关技术资料,并且了解现场设备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。 、电气设备调试高中资料试卷技术电力保护装置调试技术,电力保护高中资料试卷配置技术是指机组在进行继电保护高中资料试卷总体配置时,需要在最大限度内来确保机组高中资料试卷安全,并且尽可能地缩小故障高中资料试卷破坏范围,或者对某些异常高中资料试卷工况进行自动处理,尤其要避免错误高中资料试卷保护装置动作,并且拒绝动作,来避免不必要高中资料试卷突然停机。因此,电力高中资料试卷保护装置调试技术,要求电力保护装置做到准确灵活。对于差动保护装置高中资料试卷调试技术是指发电机一变压器组在发生内部故障时,需要进行外部电源高中资料试卷切除从而采用高中资料试卷主要保护装置。

C# 里TreeView绑定数据库实现分类

C# 里TreeView绑定数据库实现分类 分类:导航控件TreeView/Menu/SiteMapPath 2010-03-22 21:33 45人阅读评论(0) 收藏举报 codes=c#] //从数据库中读取数据 SqlConnection con = new SqlConnection("server=127.0.0.1//sqlexpress;uid=sa;"); con.Open(); con.ChangeDatabase("STggggg"); SqlCommand cmd = new SqlCommand("select * from 产品树where NodeType='f'", con); //https://www.doczj.com/doc/4214702675.html,mandType = CommandType.StoredProcedure; SqlDataAdapter sda = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); try { sda.Fill(ds); } catch { } finally { cmd = null; con.Close(); } //往TreeView中添加树节点 //添加根节点 TreeNode tn = new TreeNode(); tn.Text = "所有产品"; https://www.doczj.com/doc/4214702675.html, = "0";//Name作为ID tn.Tag = "0";//Tag作为RootID tn.ImageIndex = 0; tn.SelectedImageIndex = 0; tv.Nodes.Add(tn);//该TreeView命名为tv tv.SelectedNode = tv.TopNode;

VB控件 treeview用法详解

VB TreeView控件使用详解 (2012-06-16 15:08:16) 标签:分类: 第一小时:学习直接用代码将数据填充到树控件中。 为什么要先学习直接用代码将数据填充到树控件中因为这种方法是最简单的,代码也最容易理解,学习树控件,先将这个学会,已经掌握了一半,所以先不要急着想怎么将表中的数据填充到树控件中,在第一小时里,树控件和表完全没有关系。 目的:我们要在树控件中建立如下的一个3层级关系 水果 | |__苹果 | |__红富士 | |__国光 | |__葡萄 |__红提子 |__青提子 解释:水果包含2种,一种是苹果,一种是葡萄,苹果又包含2种,一种是红富士,一种是国光,葡萄也如此。 在这里:“爷”是水果,“父”是苹果,葡萄,“子”是红富士,国光,红提子,青提子。概括如下: 爷(只能有一个):水果 父(这里有2个):父1:苹果;父2:葡萄

子(这里有4个):子1:红富士(父1苹果的子);子2:国光(父1苹果的子);子3:红提子(父2葡萄的子);子4:青提子(父2葡萄的子) 1、新建一个窗体,在窗体上放置两个控件,一个是Treeview,一个是Imagelist 如何找到这两个控件 Treeview控件在“工具箱”的榔头加扳手图标(其他控件)中选“Microsoft Treeview Control,Version " Imagelist控件在“工具箱”的榔头加扳手图标(其他控件)中选“Microsoft Imagelist Control,Version " Treeview控件大家都明白干什么用的,Imagelist控件是干什么用呢原来这个控件是放图标用的,如果你想在树控件中显示图标的,这个图标都将储存在ImageList控件中。 2、设置这两个控件的属性 首先要讲清楚控件的属性设置有2种,一种是设置这个控件在ACCESS中的属性,比如名称等。一种是设置这个控件本身的属性。要设置这个控件在ACCESS中的属性,选中控件后按鼠标右键选“属性”就可以了。跟我们平时设置文本框什么的一样。要设置这个控件本身的属性,只要双击这个控件就可以了。 1)设置Treeview控件在ACCESS中的名称属性,将名称设置为“Treeview" 2)设置Imagelist控件在ACCESS中的名称属性,将名称设置为“Image" 2)设置Imagelist控件本身的属性,双击控件后,在弹出来的设置框中选“Images",单击“Insert Picture"按钮,在你电脑中选择你需要的图标。在“Key:”栏中填入“K1”。其他默认设置不用改。3)设置Treeview控件本身的属性,双击控件后,在弹出来的设置框中选“General”,在这个选项面版中有很多项设置,大多数是设置树控件的显示格式,你自己慢慢研究。这里我们将第一项“Style"选7,在第五项“Imagelist"选项中将我们放置的Imagelist控件“Image"选上。这项设置就将图标和树控件联系了起来。 3、写代码将数据填充到树控件中

.NET4.0 绑定控件与数据源控件

https://www.doczj.com/doc/4214702675.html,4.0 绑定控件与数据源控件 微软定义了一系列的控件专门用于显示数据的格式,通过这些控件可以可视化的方式查看绑定数据之后的效果。这些控件称之为数据绑定控件。 在https://www.doczj.com/doc/4214702675.html,中,所有的数据库绑定控件都是从BaseDataBoundControl这个抽象类派生的,这个抽象类定义了几个重要属性和一个重要方法: ●DataSource属性指定数据绑定控件的数据来源,显示的时候程序将会从这个数据源 中获取数据并显示。 ●DataSourceID属性指定数据绑定控件的数据源控件的ID,显示的时候程序将会根据 这个ID找到相应的数据源控件,并利用这个数据源控件中指定方法获取数据并显示。 ●DataBind ()方法当指定了数据绑定控件的DataSource属性或者DataSourceID属性之 后,再调用DataBind()方法显示绑定的数据。 在使用数据源时,先尝试使用DataSourceID属性标识的数据源,如果没有设置Data SourceID时才会用到DataSource属性标识的数据源。也就是说DataSource和DataSo urceID两个属性不能同时使用。 在https://www.doczj.com/doc/4214702675.html,中,主要包含5个数据源控件,如GridView、DataList、Repeator、DetailsView、FormView。其中,前3个控件用于呈现多列数据,而后面2个控件用于呈现单列数据。 ●GridView控件 GridView 控件以表的形式显示数据,并提供对列进行排序、分页、翻阅数据以及编辑或删除单个记录的功能。GridView 控件是https://www.doczj.com/doc/4214702675.html, 的早期版本中提供的DataGrid 控件的后继控件。除了添加利用数据源控件功能的新功能,GridView 控件还实现了某些改进。 ●DetailsView控件 DetailsView控件一次呈现一条表格形式的记录,并提供翻阅多条记录以及插入、更新和删除记录的功能。DetailsView 控件通常用在主/详细信息方案中,在这种方案中,主控件(如GridView 控件)中的所选记录决定了DetailsView 控件显示的记录。 ●FormView 控件 FormView 控件与DetailsView 控件类似,它一次呈现数据源中的一条记录,并提供翻阅多条记录以及插入、更新和删除记录的功能。但是,DetailsView控件使用基于表格的布局,数据记录的每个字段都显示为控件中的一行。而FormView 控件则不指定用于显示记录的预定义布局。 ●Repeater控件

vb TreeView 控件应用实例

vb TreeView 控件应用实例 2009-11-14 20:52 TreeView 控件应用实例:将 TreeView 绑定到 Biblio.mdb 数据库 应用示例:DataTree.vbp 本章的代码示例是从应用示例 DataTree.vbp which is listed in the Samples directory 中得到的。 可将数据库中的数据绑定到 TreeView 控件。下面的示例将 TreeView 控件绑定到 Biblio 数据库,该数据库可以在 Visual Basic CD 中找到。该应用实例将 Publishers 表作为树节点的第一层。如果一个出版商对应于一个或多个书名,则这些书名将作为该出版商的子节点加入树中。 图 2.42 与数据绑定的 TreeVew 控件 下面的代码用到了如下对象: Data Access Object Library(3.5) 名为“frmDataTree”的 Form 对象 名为“tvwDB”的 TreeView 控件 名为“cmdLoad”的 CommandButton 控件 将 Biblio.mdb 数据库绑定到 TreeView 控件 在工程中添加对数据访问对象(DAO 3.0)的引用。 为 Database 和 Node 对象创建模块级的变量。 在 Form Load 事件中,用 OpenDatabase 语句将 Database 对象变量设置为 Biblio 数据库。 用 Nodes 集合的 Add 方法创建顶层的节点对象。 在 CommandButton 的 Click 事件中,创建两个 Recordset 变量,并将它们设置为Publishers 和 Titles 表。

第8章.Web窗体的数据控件(https://www.doczj.com/doc/4214702675.html, 3.5开发大全 共29章)

第8章 Web窗体的数据控件 在了解了https://www.doczj.com/doc/4214702675.html,基础后,就可以使用https://www.doczj.com/doc/4214702675.html,提供的对象进行数据库开发和操作。https://www.doczj.com/doc/4214702675.html, 还提供了一些Web窗体的数据控件,开发人员能够智能的配置与数据库的连接,而不需要手动的编写数据库连接。https://www.doczj.com/doc/4214702675.html,不仅提供了数据源控件,还提供了能够显示数据的控件,简化了数据显示的开发,开发人员只需要简单的修改模板就能够实现数据显示和分页。 8.1 数据源控件 数据源控件很像https://www.doczj.com/doc/4214702675.html,中的Connection对象,数据源控件用来配置数据源,当数据控件绑定数据源控件时,就能够通过数据库源控件来获取数据源中的数据并显示。而无需通过程序实现数据源代码的编写。 8.1.1 SQL数据源控件(SqlDataSource) SqlDataSource控件代表一个通过https://www.doczj.com/doc/4214702675.html,连接到SQL数据库提供者的数据源控件。并且SqlDataSource能够与任何一种https://www.doczj.com/doc/4214702675.html,支持的数据库进行交互,这些数据库包括SQL Server、ACCESS、Oledb、Odbc以及Oracle。 SqlDataSource控件能够支持数据的检索、插入、更新、删除、排序等,以至于数据绑定控件可以在这些能力被允许的条件下自动的完成该功能,而不需要手动的代码实现。并且SqlDataSource控件所属的页面被打开时,SqlDataSource控件能够自动的打开数据库,执行SQL语句或存储过程,返回选定的数据,然后关闭连接。SqlDataSource控件强大的功能极大的简化了开发人员的开发,缩减了开发中的代码。但是SqlDataSource控件也有一些缺点,就是在性能上不太适应大型的开发,而对于中小型的开发,SqlDataSource控件已经足够了。 1.建立SqlDataSource控件 https://www.doczj.com/doc/4214702675.html,提供的SqlDataSource控件能够方便的添加到页面,当SqlDataSource控件被添加到https://www.doczj.com/doc/4214702675.html,页面中时,会生成https://www.doczj.com/doc/4214702675.html,标签,示例代码如下所示。 切换到视图模式下,点击SqlDataSource控件会显式【配置数据源……】,单击【配置数据源……】连接时,系统能够智能的提供SqlDataSource控件配置向导,如图8-1所示。 在新建数据源后,开发人员可以选择是否保存在web.config数据源中以便应用程序进行全局配置,通常情况下选择保存。由于现在没有连接,单击【新建连接】按钮选择或创建一个数据源。单击后,系统会弹出对话框用于选择数据库文件类型,如图8-2所示。

c#treeview绑定四级菜单

Winform中常常会涉及这方面的应用,用treeview来绑定四级部门,下面是我在实际经验中总结出来的一段代码,以供参考,并有注释 private void binds() { DataSet ds = new DataSet(); SqlConnection con = new SqlConnection(Maticsoft.DBUtility.DbHelperSQL.connectionString); string sql = "select CompanyName from CRM_CompanyInformationFirst"; SqlDataAdapter adapter = new SqlDataAdapter(sql, con); adapter.Fill(ds, "companyname"); foreach (DataRow row in ds.Tables["companyname"].Rows)//一级菜单绑定总公司 { TreeNode tn = new TreeNode(); https://www.doczj.com/doc/4214702675.html, = row["companyname"].ToString(); tn.Text = row["companyname"].ToString(); treeView1.Nodes.Add(tn); DataSet d = new DataSet(); string ss = "select CompanyName from CRM_CompanyInformationSec where job_no='" + https://www.doczj.com/doc/4214702675.html, + "'"; SqlDataAdapter da = new SqlDataAdapter(ss, con); da.Fill(d, "CompanyName"); foreach (DataRow rows in d.Tables["CompanyName"].Rows)//二级菜单绑定分公司 { TreeNode tnn = new TreeNode(); https://www.doczj.com/doc/4214702675.html, = rows["CompanyName"].ToString(); tnn.Text = rows["CompanyName"].ToString(); treeView1.Nodes[tn.Index].Nodes.Add(tnn); DataSet dd = new DataSet(); string sss = "select CompanyName from CRM_CompanyInformationThird where job_no1='" + https://www.doczj.com/doc/4214702675.html, + "' and job_no2='" + https://www.doczj.com/doc/4214702675.html, + "'"; SqlDataAdapter daa = new SqlDataAdapter(sss, con); daa.Fill(dd, "CompanyName"); foreach (DataRow rowss in dd.Tables["CompanyName"].Rows)//三级菜单绑定部门 { TreeNode tnnn = new TreeNode();

利用TreeView实现层次结构数据导航查询

文章发表于【《电脑开发与应用》】,引用请注明出处,谢谢! 利用TreeView实现层次结构数据导航查询 [摘要]:为了充分发挥TreeView控件展示数据和导航查询的作用,文章通过一个通讯录实例,介绍了如何在https://www.doczj.com/doc/4214702675.html,中利用TreeView实现层次结构数据的加载及导航查询,讨论了如何做到精准导航查询。文章提出的改进的导航查询方案中的自定义函数,具有一定的借鉴意义。 [关键词]:https://www.doczj.com/doc/4214702675.html,;TreeView;层次结构数据;导航查询 1.引言 C#是微软推出的基于.NET平台的开发语言,是一种使用简单、功能强大、表达力丰富的语言。Visual Studio 2008中,.NET在数据存取方面做了很大的调整。在.NET 框架下,数据存取是由https://www.doczj.com/doc/4214702675.html,来完成的。https://www.doczj.com/doc/4214702675.html,是一组用于和数据源进行交互的面向对象类库,通常情况下,数据源是数据库。 TreeView是一个重要的常用控件,经常充当导航器的作用。在实际的软件开发中,常常需要将TreeView 与数据库进行连接,以填充其节点。用TreeView可以显示诸如商品分类、区域名称等等的层次结构数据。在大部分软件的开发中,TreeView都是一个不可缺少的展示或者导航控件。TreeView的内容加载一般来讲有三种方式:(1)界面设计时在TreeView设计器或者代码中直接填充TreeView控件。(2)从XML文件中读取数据建立树型结构。(3)从数据库中读取数据,建立树型结构。本文将通过一个简单的通讯录实例,介绍如何在https://www.doczj.com/doc/4214702675.html,中利用TreeView实现层次结构数据的导航查询。 2.数据表设计 本文TreeView控件的数据源,主要有三个字段:即分组号(id)、分组名称(groupName)、上一级分组号(parentId)。约定分组号作为用来标识当前分组的唯一标识。当分组的parentId为0时,表示该分组为顶级分组,否则parentId为一个大于0的值。如此形成一个具有层次结构的数据源。存放联系人分组的groups 表如表1所示。 表1 联系人分组groups表结构 构造groups表数据的内容如图1所示。 图1 groups表数据 另外,实例中还需要一个联系人信息表addressList,构造表中数据如图2所示,其中groupId字段用来标记联系人所在分组的组号。

多种方法进行treeview绑定数据库

TreeView绑定数据库(免费,哥为了大家,费了20个经验值,给个5星吧!) 数据库: 公司:id(int) company(varchar(50) 部门:id(int) deid(int) department(varchar(50)) 班组:id(int) coid(int) class(varchar(50)) 前台 方法1: DB DBManager = new DB();//实例化数据库操作类 string strConn = System.Configuration.ConfigurationManager.Conne ctionStrings["rizhi"].ConnectionString; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //TreeView1.Attributes.Add("onclick", "OnTreeNodeChecked() "); TreeView1.Attributes.Add("onclick", "testClick(event);return tr ue;");//单击文字,CheckBox=true TreeView1.ShowCheckBoxes = TreeNodeTypes.Leaf;//最后一级选中 TreeView1.ExpandDepth = 0;//不展开 using (SqlConnection conn = new SqlConnection(strConn)) { DataSet ds_company = new DataSet();//实例化数据集(公司) SqlDataAdapter sda_company = new SqlDataAdapter("selec t * from [company] where id<>"+0+" and id<>"+1001, conn);//实例化数据适配器(公司) sda_company.Fill(ds_company, "company");//虚拟表填充到内存for (int i = 0; i < ds_company.Tables["company"].Rows.Coun

TreeView与数据库配合使用(C# WinForm+SQL Server 2008)

《企业信息化项目开发》上机内容 TreeView与数据库配合使用(C# WinForm + SQL Server 2008)一、实训目标 使用三层架构完成简单应用程序的开发 二、涉及知识点 1.使用三层架构完成简单的应用程序开发 2.TreeView控件 三、实训内容 1.创建数据库和表 2.搭建项目三层架构 3.使用TreeView控件 四、实训步骤 1.创建数据库和表 (1)新建一个名为“Test”的数据库。 CREATE DATABASE Test GO USE Test GO (2)里边新建一张数据表叫做“Division”——行政区划表。 数据表如下: CREATE TABLE Division ( ID int IDENTITY (1, 1)PRIMARY KEY,--自动增长的标记列

NAME varchar (50)NOT NULL, --行政区划的名称 ParentID int NOT NULL,--行政区划的上一级区划ID,最高级区划的上一级默认为0 ) GO 插入测试数据 Insert Into Division(NAME,ParentID)Values ('北京',0) Insert Into Division(NAME,ParentID)Values ('山东',0) Insert Into Division(NAME,ParentID)Values ('河北',0) Insert Into Division(NAME,ParentID)Values ('海淀',1) Insert Into Division(NAME,ParentID)Values ('中关村',4) Insert Into Division(NAME,ParentID)Values ('济宁',2) Insert Into Division(NAME,ParentID)Values ('曲阜',6) Insert Into Division(NAME,ParentID)Values ('济南',2) GO 2.搭建项目三层架构 (1)TreeViewModel实体类的实现:

TreeView的用法基本用法

TreeView 的用法开始(挺全的) //************* TreeView 的用法开始******************// 一:TreeView.Items[0].Expanded := True; // 展开第一个节点 二:TreeView.Items[0].Item[0].Selected := True; // 移动到第一个节点的第一个子节点找当前节点的下一个节点,按序号找如下: if treeview1.Selected.GetNext<>nil then treeview1.Selected.GetNext.Selected:=true; TreeView1.SetFocus; 找当前节点的下一个同层兄弟如下: if treeview1.Selected.getNextSibling<>nil then treeview1.Selected.getNextSibling.Selected:=true; TreeView1.SetFocus; TreeView.Selected.getPrevSibling //当前选中节点的上一个兄弟节点 TreeView.Selected.Parent // 当前选中节点的父节点 getfirstchild是跳到该节点子结点中的第一个 getlastchild是跳到该节点子结点中的最后一个 如果你是想跳到同层兄弟结点的第一个 if treeview1.selected.parent<>nil then treeview1.selected.parent.getfirstchild.selected:=true else treeview1.items.item[0].selected:=true; 如果你是想跳到同层兄弟结点的最后一个 if treeview1.selected.parent<>nil then treeview1.selected.parent.getlastchild.selected:=true else treeview1.Items.Item[treeview1.Items.Count-1].Selected:=true; TreeView的使用方法 基本信息: TreeView 是一个显示树型结构的控件,每一个节点都是一个新类, 使用具有代表性每个节点都有四个值:

C#递归构造treeview树形

C#数据库递归构造treeview树形结构 1、首先数据库:f_id 项目ID号,f_front 父ID号,f_name名称,f_type类型,f_laye r所处层,f_order 同层的顺序号;(f_layer,f_order不要也可,这里我主要是需要同层排序才用到) 2、然后“select f_id,f_front,f_name,f_type from data”取得DataSet数据集dsFra me;treeview 名称设为tvDept 3、写函数构建treeveiw树形: public void AddTree(int ParentID, TreeNode pNode) { DataView dvTree = new DataView(dtTree); //就是dtTree = ds Frame.Tables[0]; string Fstr = "[f_front] = " + ParentID; dvTree.RowFilter = Fstr; foreach (DataRowView Row in dvTree) { TreeNode Node = new TreeNode(); if (pNode == null) //处理主节点 { https://www.doczj.com/doc/4214702675.html, = Row["f_id"].ToString(); //这里+了2个值分别到Name和Text,可随便 Node.Text = Row["f_name"].ToString(); if (Row["f_type"].ToString() == "岗位")//这个不要也可以,主要为了不同类型显示不同图标 { Node.ImageIndex = 1; Node.SelectedImageIndex=1;

三小时掌握TREEVIEW控件--access

三小时掌握TREEVIEW控件 TREEVIEW控件在正常ACCESS数据库使用中是很频繁的,下面这篇文章与大家分享一下: 一、详见如下: 能不能掌握控件的使用,是业余向准专业进步的关键。比如TREEVIEW控件,TREEVIEW控件,也叫树控件,主要用于层级显示和控制,应用广泛。我一直很想学习这个控件的使用,但每次都没有学成,总感觉很难。前几天有空,狠下心来将论坛搜索一遍,发现也不是太难,在很短时间内只要方法得当,很快可以掌握,因为我是菜鸟,所以用菜鸟的方法和大家交流,可能大家学得更快一点,只要你用心,三个小时一定可以掌握。请大家一定要自己动手做,只有做才能理解,光看帮助和说明是没有用的。 热身:理解层级概念,层级理论上可以有无限级,一般用到四,五级也够用了。最上级的只能有一个,我们把它叫做“爷”,接下来是“父”,再是“子”,再是“孙”,接下来是“曾孙”......,汇总如下:“爷,父,子,孙,曾孙”,这里是5级关系,除了“爷”只能有一个外,其余可以有无限个。记住这些,下面要用。 第一小时:学习直接用代码将数据填充到树控件中。 为什么要先学习直接用代码将数据填充到树控件中?因为这种方法是最简单的,代码也最容易理解,学习树控件,先将这个学会,已经掌握了一半,所以先不要急着想怎么将表中的数据填充到树控件中,在第一小时里,树控件和表完全没有关系。 目的:我们要在树控件中建立如下的一个3层级关系 水果 | |__苹果 | |__红富士 | |__国光 | |__葡萄 |__红提子 |__青提子 解释:水果包含2种,一种是苹果,一种是葡萄,苹果又包含2种,一种是红富士,一种是国光,葡萄也如此。 在这里:“爷”是水果,“父”是苹果,葡萄,“子”是红富士,国光,红提子,青提子。概括如下: 爷(只能有一个):水果 父(这里有2个):父1:苹果;父2:葡萄 子(这里有4个):子1:红富士(父1苹果的子);子2:国光(父1苹果的子);子3:红提子(父2葡萄的子);子4:青提子(父2葡萄的子) 下面我们在ACCESS中栽下这棵树,步骤如下: 1、新建一个窗体,在窗体上放置两个控件,一个是Treeview,一个是Imagelist 如何找到这两个控件? Treeview控件在“工具箱”的榔头加扳手图标(其他控件)中选“Microsoft Treeview Control,Version 6.0";Imagelist控件在“工具箱”的榔头加扳手图标(其他控件)中选“Microsoft Imagelist Control,Version 6.0"。 Treeview控件大家都明白干什么用的,Imagelist控件是干什么用呢?原来这个控件是放图标用的,如果你想在树控件中显示图标的,这个图标都将储存在ImageList控件中。

相关主题
文本预览
相关文档 最新文档