关于DataGrid的一点基础东西

原创 2006年02月10日 01:43:00
1、列名显示
MS让DataGrid的外观配置,包括列名的显示,全部交给了GridTableStylesCollection。
DataGridTableStyle是一个DataGridTableStyle集合,由MappingName确定唯一性。
而GridColumnStyles 属性确定其中列的具体情况,也是一个集合。
列的属性可以为DataGridBoolColumn或者DataGridTextBoxColumn,常用后者。
列同样有由MappingName确定其唯一性,在DataSet/DataTable中,与其中的ColumnName对应。
DataGridTextBoxColumn.HeaderText就是列名的显示值。
还有其他许多很有用的属性。
但是:我用Delphi的时候,从来没碰到要设置一下列名这么简单的事情竟然需要这么复杂的过程,我根本没想到去用其他的属性……
另外,不是有DataTable.Columns.Caption么?为何DataGrid死抓住ColumnName不放而不去看看Caption?
代码:
command = conn.CreateCommand();
command.CommandText = "Select ID, NAME,REMARK From TBL;";
command.CommandType = CommandType.Text;
DataTable table = new DataTable();
adapter = new FbDataAdapter(command);
adapter.Fill(table);

table.TableName = "TBL";        //其实table原来的TableName为空
grid.DataSource = table;
DataGridTableStyle ts = new DataGridTableStyle();
DataGridTextBoxColumn t1 = new DataGridTextBoxColumn() ,
        t2 = new DataGridTextBoxColumn() ,
        t3 = new DataGridTextBoxColumn();
ts.MappingName = table.TableName;
t1.MappingName = "ID"; t1.HeaderText = "编号";
t1.NullText = "自动编号";
t2.MappingName = "NAME"; t2.HeaderText = "名称";
t2.NullText     = "";
t3.MappingName = "REMARK"; t3.HeaderText = "备注";
t3.NullText = "";
ts.GridColumnStyles.Add(t1);
ts.GridColumnStyles.Add(t2);
ts.GridColumnStyles.Add(t3);
grid.TableStyles.Add(ts);

2、选择行
找到了选择行的一个好代码,利用了DataGridTextBoxColumn.TextBox.Enter属性。
主要是把选择做成了一个事件,极为方便调用,我稍微改了一下,放到了我的公用类里了(所以需要static)。
使用时直接把selectLineInit放到Form的OnLoad里面就行了:
public static void selectLineInit(DataGridTableStyle ts)
{
        foreach (DataGridColumnStyle dgCol in ts.GridColumnStyles)
        {
                DataGridTextBoxColumn dgtCol = dgCol as DataGridTextBoxColumn;
                dgtCol.TextBox.Enter += new EventHandler( onSelectLine);
        }
}

public static void onSelectLine( object sender, EventArgs e)
{
        Control txtContentBox = sender as Control;
        txtContentBox.Visible = false;
        DataGrid dgParent = txtContentBox.Parent as DataGrid;
        dgParent.Select(dgParent.CurrentCell.RowNumber);
}


相关文章推荐

从基础开始写吧,写一下这段日子学到的一点东西!

从小白开始进入公司,一开始连最基本的web项目创建都不会,到现在算是可以熟练使用struts框架,总算有点进步了, 首先说一下struts项目创建吧,我将创建struts框架的项目分为了四步:拿my...

Redis一点基础的东西

目录 1.基础底层数据结构 2.windows下环境搭建 3.java里连接redis数据库 4.关于认证 5.redis高级功能总结1.基础底层数据结构1.1.简单动态字符串SDS定义: ...

sql端口修改方法,一点小东西

  • 2009年07月05日 22:45
  • 142B
  • 下载

JAVA的一点东西。Java

  • 2010年05月27日 11:51
  • 14KB
  • 下载

JAVA web中的一点东西

参考文献: http://m.blog.csdn.net/article/details?id=45151569 http://www.cnblogs.com/goody9807/archive/...

Java开发需要的一点东西

  • 2011年04月12日 19:47
  • 6.81MB
  • 下载

写一点最近的东西。。。(是有多久没来了

ddl是第一生产力,此言不虚,ddl过后偶然想把一些东西mark down ,纪念最近ddl下支配的恐惧【哭笑】 界面近来一直用javafx来写,对fx的整体框架清晰了不少(特别是不依赖scene b...

写给SEO外行的一点东西

  • 2010年04月26日 11:23
  • 1KB
  • 下载

二进制方面的一点东西

  • 2009年08月24日 23:13
  • 12KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于DataGrid的一点基础东西
举报原因:
原因补充:

(最多只允许输入30个字)