dataGrid弄宽问题

internetibm 2004-01-07 03:34:47
ds=tmpcls.getFieldTable(this.ActiveTabName);
dt=new DataTable();
dt.Columns.Add("字段名称");
dt.Columns.Add("字段类型");
dt.Columns.Add("字段长度");
dt.Columns.Add("是否为空");
dt.Columns.Add("字段描述"); ds.Tables.Add(dt);

DataGridTableStyle TSAuthors = new DataGridTableStyle();
TSAuthors.MappingName = dt.TableName;

DataGridColumnStyle TCFirstName= new DataGridTextBoxColumn();
TCFirstName.MappingName ="字段名称" ;
TCFirstName.HeaderText = "字段名称";
TCFirstName.NullText="";
TCFirstName.Alignment=HorizontalAlignment.Center;
TSAuthors.GridColumnStyles.Add(TCFirstName);

TCFirstName = new DataGridTextBoxColumn();
TCFirstName.MappingName ="字段类型";
TCFirstName.HeaderText = "字段类型";
TCFirstName.NullText="";
TCFirstName.Alignment=HorizontalAlignment.Center;
TSAuthors.GridColumnStyles.Add(TCFirstName);

TCFirstName = new DataGridTextBoxColumn();
TCFirstName.MappingName ="字段长度";
TCFirstName.HeaderText = "字段长度";
TCFirstName.NullText="";
TCFirstName.Alignment=HorizontalAlignment.Center;
TSAuthors.GridColumnStyles.Add(TCFirstName);


TCFirstName = new DataGridTextBoxColumn();
TCFirstName.MappingName ="是否为空";
TCFirstName.HeaderText = "是否为空";
TCFirstName.NullText="";
TCFirstName.Alignment=HorizontalAlignment.Center;
TSAuthors.GridColumnStyles.Add(TCFirstName);

TCFirstName = new DataGridTextBoxColumn();
TCFirstName.MappingName ="字段描述";
TCFirstName.HeaderText = "字段描述";
TCFirstName.NullText="";
TCFirstName.Width=600;
TCFirstName.Alignment=HorizontalAlignment.Center;
TSAuthors.GridColumnStyles.Add(TCFirstName);

dataGrid2.TableStyles.Clear();
dataGrid2.TableStyles.Add(TSAuthors);

dataGrid2.SetDataBinding(ds,dt.TableName);
//dataGrid2.TableStyles[0].RowHeaderWidth
MessageBox.Show(ds.Tables[0].Rows.Count.ToString());

为何象这样置了列宽后,dataGrid2中的数据行不可见了!
...全文
31 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
flers 2004-01-08
  • 打赏
  • 举报
回复
添加DATAGRID的样式,在样式中设不就行了
hunter4500 2004-01-07
  • 打赏
  • 举报
回复
http://www.codeproject.com/cs/miscctrl/WCsAutoSizeDataGrid/AutoSizeDataGrid_demo.zip

http://www.codeproject.com/cs/miscctrl/WCsAutoSizeDataGrid/AutoSizeDataGrid_src.zip
sjtstar 2004-01-07
  • 打赏
  • 举报
回复
把这一句去掉
dataGrid2.SetDataBinding(ds,dt.TableName);
把所有的列的MappingName 换为如下格式
TCFirstName.MappingName =dt.Columns["字段名称" ].ColumnName;
TCFirstName的名字不应重复,每一列设一名字。

看看我的
Grid.DataSource = dt;
Grid.TableStyles.Clear();
DataGridTableStyle tableStyle = new DataGridTableStyle();
tableStyle.MappingName =dt.TableName;
tableStyle.PreferredRowHeight=20;

DataColumn dc=new DataColumn();
dc.DataType=typeof(bool);
dc.DefaultValue=false;
dc.ColumnName="del";
dt.Columns.Add(dc);

DataGridBoolColumn chebox = new DataGridBoolColumn(); //设第一列为删除列
chebox.HeaderText = "";
chebox.MappingName =dt.Columns["del"].ColumnName;
chebox.AllowNull=false;
chebox.TrueValue=true;
chebox.FalseValue=false;
chebox.NullValue=true;
chebox.Width=20;
//chebox.FalseValueChanged+=new EventHandler(chebox_FalseValueChanged);
//tableStyle.AlternatingBackColor = Color.LightGray;
tableStyle.GridColumnStyles.Add(chebox);

dt.DefaultView.AllowNew=false;

DataGridTextBoxColumn Assetsid = new DataGridTextBoxColumn();
Assetsid.HeaderText ="资产编号" ;
Assetsid.Width=120;
Assetsid.ReadOnly=true;
Assetsid.MappingName = dt.Columns["Assetsid"].ColumnName ;
//tableStyle.AlternatingBackColor = Color.AliceBlue ;
tableStyle.GridColumnStyles.Add(Assetsid);
Assetsid.NullText = "";

DataGridTextBoxColumn AssetsName = new DataGridTextBoxColumn();
AssetsName.HeaderText ="资产名称" ;
AssetsName.MappingName = dt.Columns["AssetsName"].ColumnName ;
AssetsName.Width=90;
AssetsName.ReadOnly=true;
//tableStyle.AlternatingBackColor = Color.AliceBlue ;
tableStyle.GridColumnStyles.Add(AssetsName);
AssetsName.NullText = "";

DataGridTextBoxColumn ScrapValue = new DataGridTextBoxColumn();
ScrapValue.HeaderText ="剩余价值" ;
ScrapValue.MappingName = dt.Columns["ScrapValue"].ColumnName ;
ScrapValue.Width=70;
ScrapValue.Alignment= HorizontalAlignment.Right;
ScrapValue.TextBox.MaxLength=9;
ScrapValue.ReadOnly=true;
//tableStyle.AlternatingBackColor = Color.AliceBlue ;
tableStyle.GridColumnStyles.Add(ScrapValue);
ScrapValue.NullText = "";

DataGridTextBoxColumn ScrRemark = new DataGridTextBoxColumn();
ScrRemark.HeaderText ="报废原因" ;
ScrRemark.MappingName = dt.Columns["ScrRemark"].ColumnName ;
ScrRemark.Width=110;
ScrRemark.TextBox.MaxLength=500;
ScrRemark.ReadOnly=true;
//tableStyle.AlternatingBackColor = Color.AliceBlue ;
tableStyle.GridColumnStyles.Add(ScrRemark);
ScrRemark.NullText = "";

DataGridTextBoxColumn Disp = new DataGridTextBoxColumn();
Disp.HeaderText ="处置方法" ;
Disp.MappingName = dt.Columns["Disp"].ColumnName ;
Disp.Width=100;
Disp.TextBox.MaxLength=50;
Disp.ReadOnly=true;
//tableStyle.AlternatingBackColor = Color.AliceBlue ;
tableStyle.GridColumnStyles.Add(Disp);
Disp.NullText = "";

DataGridTextBoxColumn OtherRemark = new DataGridTextBoxColumn();
OtherRemark.HeaderText ="其它说明" ;
OtherRemark.MappingName = dt.Columns["OtherRemark"].ColumnName ;
OtherRemark.Width=94;
OtherRemark.TextBox.MaxLength=500;
OtherRemark.ReadOnly=true;
//tableStyle.AlternatingBackColor = Color.AliceBlue ;
tableStyle.GridColumnStyles.Add(OtherRemark);
OtherRemark.NullText = "";
tableStyle.RowHeadersVisible=true;
tableStyle.RowHeaderWidth=10;
tableStyle.AllowSorting=false;
Grid.TableStyles.Add(tableStyle);

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧