关于DataGrid的,有n个人回答都不能满足要求啊, 高手ggjj进来看看

lgsnake 2003-08-20 11:51:06
废话少说, 问题如下:
/************************************************************************/
No1.

对于DataGrid中的列, 不是静态绑定的, 也就是不是在属性兰中选Colums配置的
而是通过this.dgData.DataSource = this.dtTable;
现在出现问题: DataGrid 的标题, 也就是dtTable的字段名出现下划线, 怎么通 过编程使之消除!

/************************************************************************/

No2.

紧接1, 当执行this.dgData.DataSource = this.dtTable;
this.dgData.DataBind();
后, 执行
int nTotal = this.dgData.Colums.Count; //为0!!!!!!

/************************************************************************/

No3.

怎么在DataGrid中是某一列可以进行超连接! (通过静态属性编辑是可以的!)

/************************************************************************/


请各位高手ggjj帮忙回答, 分不够我开贴再加!!!!!!
...全文
23 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lgsnake 2003-08-21
  • 打赏
  • 举报
回复
上面的错误已经查明,
现在主要是下面问题了:

"
其实再我No2. 中执行,再DataGrid表中是可以实事看到数据的,这说明表中肯定有数据存在
但是" int nTotal = this.dgData.Colums.Count; //怎么会为0!!!!!! "
这也太奇怪了吧, 数据再DataGrid里面显示正确, 列数也对, 为什么使用上述代码不能获取它当前的总列数,当然如果获取正确的话, 那么超连接就很好实现了
"DataGrid1.Columns[4].SortExpression= "......."
"

storm97 2003-08-20
  • 打赏
  • 举报
回复
怎么在DataGrid中是某一列可以进行超连接! (通过静态属性编辑是可以的!)
加HyperLinkColumn就OK了啊!
维她奶 2003-08-20
  • 打赏
  • 举报
回复
webForm还是winForm的啊?
lgsnake 2003-08-20
  • 打赏
  • 举报
回复
首先, 先谢过楼上好友们.回答如下:

1.我用的是Web控件的DataGrid
2."加HyperLinkColumn就OK了啊!"---我是再程序中动态加入不同的表到DataGrid中,所以你的方法好像不能实现.要是固定的话是可以的.
3."no1:DataGrid1.Columns[4].HeaderText = "哈啊!""
你的这步跟我下一步想法是一样的, 现在关键是
/***********
" 紧接1, 当执行this.dgData.DataSource = this.dtTable;
this.dgData.DataBind();
后, 执行
int nTotal = this.dgData.Colums.Count; //为0!!!!!!""""
************************************************************/
4."no2:this.dgData.DataSource = this.dtTable.DefaultView;"
--------我照着把后面的.DefaultView加了上去.但是不行出现错误
:
类型“System.Data.DataView”必须标记为 Serializable 或者具有 ReferenceConverter 以外的 TypeConverter,才能被放置在视图状态中。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: 类型“System.Data.DataView”必须标记为 Serializable 或者具有 ReferenceConverter 以外的 TypeConverter,才能被放置在视图状态中。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:
/************************************************

[HttpException (0x80004005): 类型“System.Data.DataView”必须标记为 Serializable 或者具有 ReferenceConverter 以外的 TypeConverter,才能被放置在视图状态中。]
System.Web.UI.LosFormatter.SerializeValue(TextWriter output, Object value) +1479
System.Web.UI.LosFormatter.SerializeValue(TextWriter output, Object value) +677
System.Web.UI.LosFormatter.SerializeValue(TextWriter output, Object value) +170
System.Web.UI.LosFormatter.SerializeValue(TextWriter output, Object value) +256
System.Web.UI.LosFormatter.SerializeValue(TextWriter output, Object value) +281
System.Web.UI.LosFormatter.SerializeInternal(TextWriter output, Object value) +102
System.Web.UI.Page.OnFormRender(HtmlTextWriter writer, String formUniqueID) +143
System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +35
System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +395
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +243
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +72
System.Web.UI.Control.Render(HtmlTextWriter writer) +7
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +243
System.Web.UI.Page.ProcessRequestMain() +1900
***************************************************************************/
-------------我用的表是自己再程序中创建的, 不是已创建好的.


5.最后一位老哥;
其实再我No2. 中执行,再DataGrid表中是可以实事看到数据的,这说明表中肯定有数据存在
只是" int nTotal = this.dgData.Colums.Count; //为0!!!!!! "
这也太奇怪了吧, 数据再DataGrid里面显示正确, 列数也对, 为什么使用上述代码不能获取它当前的总列数,当然如果获取正确的话, 那么超连接就很好实现了
"DataGrid1.Columns[4].SortExpression= "......."


请高手们继续go on


albert2000 2003-08-20
  • 打赏
  • 举报
回复
第二:int ColCount=datagrid.Columns.Count;
你把this去掉试一下,可能是指向不明。还不可以,则是你的datatable中是否有数据(你跟踪确定一下)。可能是你的datatable中根本就没有值。Columns你写错了!!
关于绑定 datagrid.datasource=datatable;和datagrid.datasource=datatable.defaultview;只是直接绑定到datagrid的上的话是没有区别的。要是你在datagrid中放了<columns><TemplateColumn><ItemTemplate>……的话,绑定值到控件上,就要用datatable.defaultview;
第三:在datagrid中加<asp:HyperLinkColumn
HeaderText="Select an Item"
DataNavigateUrlField="IntegerValue"
第一:有下划线??试试通过HeaderStyle 属性来改变一下!
DataNavigateUrlFormatString="detailspage.aspx?id={0}"
DataTextField="PriceValue"
DataTextFormatString="{0:c}"
Target="_blank"/>

心雨楼 2003-08-20
  • 打赏
  • 举报
回复
no2:this.dgData.DataSource = this.dtTable.DefaultView;
心雨楼 2003-08-20
  • 打赏
  • 举报
回复
no1:DataGrid1.Columns[4].HeaderText = "哈啊!"

110,499

社区成员

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

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

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