首 页
|
资讯中心
|
网络学院
|
天新汽车
|
天新手机
|
天新游戏
|
软件开发
|
考试认证
品 牌 机
|
笔 记 本
|
服 务 器
|
天新数码
-
DC
-
DV
-
MP3
-
MP4
-
GPS
-
TV
|
数字家庭
硬件 DIY
-
主板
-
CPU
-
内 存
-
硬 盘
-
显示器
-
显卡
-
光驱
-
机箱
-
键鼠
-
网络设备
办公设备
|
打 印 机
|
扫 描 仪
|
投 影 仪
|
一 体 机
|
传 真 机
|
路 由 器
|
交 换 机
软件下载
|
驱动下载
|
游戏下载
|
源码下载
|
教程下载
|
站长在线
|
产品中心
|
报价中心
开发首页
|
开发语言
|
.Net开发
|
Java开发
|
Web开发
|
移动开发
|
游戏开发
|
数据库开发
|
企业开发
|
操作系统
|
软件工程
VB
VC
Delphi
PB
BCB
C++
-
ASP.net
C#
VB.net
-
J2EE
J2SE
J2ME
EJB
-
ASP
PHP
JSP
CGI
-
MSSQL
Oracle
DB2
MySQL
-
CodingLife
软件开发
开发语言
.Net开发
Java开发
Web开发
移动开发
游戏开发
数据库开发
企业开发
操作系统
软件工程
程序人生
开发文摘
.Net开发首页
|
ASP.NET
|
C#
|
VB.NET
|
VC++.NET
|
VS.NET
|
ADO.NET
|
Framework
|
Web Service
|
Remoting
|
.NET XML
您现在的位置:
天新网
>
软件开发
>
.Net开发
>
C#
C#中通过DataGrid显示隶属关系
http://dev.21tx.com 2005年06月03日
博客园 xiaodele
每日文章精萃
.Net:
ASP.net中Panel控件用法
Java:
Jbuilder7与Weblogic7整合开发之-
ASP:
用文本+ASP打造新闻发布系统。几点补
PHP:
PHP安全配置之实现安全的两个重点
JSP:
编译
CGI:
Perl教学 第十二篇 Perl5中的引用之
VB:
数据库的结构---VB数据库入门之(二
VC:
浅谈无标题窗口的拖放
本文将介绍如何利用
DataGrid
ImageColumn列来显示数据的隶属关系,具体的效果如下图
点击图标这一列,就会自动的显示它的下属数据和收缩下属数据。当然对于这个效果中,对原来的DataGridImageColumn进行了一些改动,对DataGrid的也需要一些另外的处理,还有数据也需要有要求,主要是不能对数据进行排序,不来显示会乱掉。其中排序也需要一个字段信息 我这里设置了一个 KM_XH,一个是否显示的列KM_Visible,有了这两个列,就能够很好的实现了上面的效果。
在具体的DataGrid定义的地方需要设置下面的一些方法
private
void
DataGridClick(
object
sender,System.
Windows
.Forms.MouseEventArgs e)
{
//
this.dataGrid1.
DataGrid.HitTestInfo hti
=
this
.dataGrid1.HitTest(
new
System.Drawing.Point(e.X, e.Y));
if
(hti.Row
==-
1
||
hti.Column
==-
1
)
return
;
if
(
this
.dataGrid1.TableStyles[
0
].GridColumnStyles[hti.Column]
is
DataGridImageBarColumn)
{
DataRow dr
=
dt.DefaultView[hti.Row].Row;
DataRow[] drs
=
dt.Select(LSGX
+
"
=
"
+
dr[ID].ToString());
if
(drs.Length
>
0
)
{
bool
visible
=
true
;
try
{
if
(Convert.ToBoolean(drs[
0
][strVisible]))
{
visible
=
false
;
}
}
catch
{
visible
=
false
;
}
this
.setVisible(dr,visible);
}
}
}
/**/
///
<summary>
///
设置下级的可见性
///
</summary>
///
<param name="dr"></param>
///
<param name="visible"></param>
private
void
setVisible(DataRow dr,
bool
visible)
{
DataRow[] drs
=
dt.Select(LSGX
+
"
=
"
+
dr[ID].ToString());
foreach
(DataRow drChild
in
drs)
{
drChild[strVisible]
=
visible;
if
(
!
visible)
{
this
.setVisible(drChild,visible);
}
}
}
/**/
///
<summary>
///
设置图片信息
///
</summary>
///
<param name="sender"></param>
///
<param name="e"></param>
private
void
setImage(
object
sender,DataGridImageCellEventArgs e)
{
try
{
DataRow dr
=
dt.DefaultView[e.Row].Row;
e.Number
=
Number(dr,
0
);
e.HasList
=
HasList(dr);
if
(e.HasList)
{
if
(ShowList(dr))
{
e.Image
=
this
.imageList1.Images[
0
];
}
else
{
e.Image
=
this
.imageList1.Images[
1
];
}
}
else
{
e.Image
=
this
.imageList1.Images[
2
];
}
}
catch
{
}
}
/**/
///
<summary>
///
是否显示细表
///
</summary>
///
<param name="dr"></param>
///
<returns></returns>
private
bool
ShowList(DataRow dr)
{
if
(dt.Select(LSGX
+
"
=
"
+
dr[ID].ToString()
+
"
and
"
+
strVisible
+
"
= true
"
).Length
>
0
)
return
true
;
return
false
;
}
/**/
///
<summary>
///
是否有细表
///
</summary>
///
<param name="dr"></param>
///
<returns></returns>
private
bool
HasList(DataRow dr)
{
if
(dt.Select(LSGX
+
"
=
"
+
dr[ID].ToString()).Length
>
0
)
return
true
;
return
false
;
}
/**/
///
<summary>
&
上一篇: C#中实现DataGrid双向排序
下一篇: 如何在C#的WinForm中制作饼状图和柱状图
编辑推荐
相关内容
·
Visual C# 2005快速入门之调用方法
·
初探c#(七)语句(Statements)
·
初探c#(九)结构(Structs)
·
利用C#实现分布式数据库查询
·
用C#开发网络防火墙技术分析
·
浅析C#中的套接字编程
·
用C#实现Web服务器
·
Visual C#网络编程之TCP
·
[C#学习]枚举系统安装的所有打印机
·
C#中调用Windows API的要点
·
C#中实现DataGrid双向排序
·
ASP.NET中为DataGrid添加合计字段
·
VB.NET上传图片并在DataGrid中显示
·
DataGrid专题
·
利用DataGrid编辑、修改、删除记录
·
捕捉DataGrid的双击事件(C#版本)
·
asp.net中显示DataGrid控件列序号的几种方
·
DataGrid基于Access的快速分页法
·
DataGrid输出到Excel并进行格式化处理
·
为DataGrid列添加Radio(单选框)列
最近更新
人气最热
·
C#中实现DataGrid双向排序
·
如何在C#的WinForm中制作饼状图和柱状图
·
Visual C#中调用Windows服务初探
·
在C#程序设计中使用Win32类库
·
用C#和本地Windows API操纵系统菜单
·
Visual C#编写3D游戏框架示例
·
使用C#编写DES加密程序的framework
·
利用Visual C#实现Window管道技术
·
C#取得汉字的拼音的首字母
·
ADO.NET的开发场景及传统ADO的处理
·
用Visual C#实现文件下载功能(1)
·
多线程在Visual C#网络编程中的应用
·
利用Visual C#开发一个媒体播放器
·
Visual C# 编程操作Excel
·
C#中实现DataGrid双向排序
·
浅析C#中的套接字编程
·
用C#制作图片格式转化器
·
C#开发终端式短信的原理和方法
·
Visual C# .NET产品概述
·
C++编程人员容易犯的10个C#错误
·
[硬件]闻名不如见面 超强功能3COM交换机
·
[数码]李逵还是李鬼?“工包”森海MX500 45元
·
[汽车]北京车主状告宾利一审败诉 法院认为修
·
[开发]perl常用函数(适合初学者)!
·
[资讯]新研究显示活泼好动更有利青少年健康成
·
[游戏]《大话西游2》关于技能
·
[本本]索尼(SONY)笔记本专区
·
[办公]激光打印机故障维修实例
·
[手机]大降600 松下VS7高清1600W色屏入3K
·
[考试]房屋建筑工程专业专科考试计划
·
[学院]Maya 4.0 表面材质-编辑材质(1)
·
[娱乐]大忙人
关于我们
|
联系我们
|
广告服务
|
工作机会
|
版权声明
|
欢迎投稿
|
网站地图
Copyright © 2000-2008 ,
www.21tx.com
, All Rights Reserved .
© 晨新科技 版权所有 Created by TXSite.net