求助:DataGrid的问题?困扰中!!(在线等待,急用)

比尔咔咔 2003-09-19 02:37:30
表结构
(列名) page control english chinese BIG5 janpan
(值 ) index submit submit 提交 BG5提交 @%@#%
index tt tt 册 BG册 %&^



现在BOSS要能新添加 列 (个数不定)但 那个新加的列 是放在 DataGrid的 english 后面
其它的列接着往下排
帮忙解决一下
先谢谢了
...全文
45 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongkeruanjian 2003-09-19
  • 打赏
  • 举报
回复
要想控制DATAGRID的所有的列的顺序,请不要自动生成列,要用绑定列的方式,
做完后在LOAD事件中用ADDAT()添加列,把列添加到指定位置
xrll 2003-09-19
  • 打赏
  • 举报
回复
添加新列标题:
if(e.Item.ItemType == ListItemType.Header){
TableCell tc = new TableCell();
Label l = new Label();
l.Text = "原标题";
tc.Text = "新列标题";
e.Item.Cells[2].Controls.Add(l);
e.Item.Cells[2].Controls.Add(tc);
}
xrll 2003-09-19
  • 打赏
  • 举报
回复
在ItemDataBount中加入:
public void MyDataGrid_OnItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item||e.Item.ItemType == ListItemType.AlternatingItem){
string myRole = DataBinder.Eval(e.Item.DataItem, "au_id").ToString();
TableCell tc = new TableCell();
tc.Text = myRole;
e.Item.Cells[3].Controls.Add(tc);
}
sunnyboy6281 2003-09-19
  • 打赏
  • 举报
回复
如果是自动加列的话这样行不行:
select的时候就把需要添加的列放在english那一列之后,添多少都没关系啊

表结构
(列名) page control english chinese BIG5 janpan
(值 ) index submit submit 提交 BG5提交 @%@#%
index tt tt 册 BG册 %&^


如:原先为:
select page,control,english,chiness,big5,janpan from tb where...

加列后:
select page,control,english,col1,col2,col3...,chiness,big5,janpan from tb where...
litgrass 2003-09-19
  • 打赏
  • 举报
回复
BoundColumn NewColumn = new BoundColumn();//创建新的BoundColumn
NewColumn.HeaderText="france"; //添加后要显示的列名
NewColumn.DataField="france";//该列对应的字段,该字段必须在表里有,只是原来没显示出来
DataGrid1.Columns.AddAt(3, NewColumn);//在english后添加该列
DataGrid1.DataBind();

希望对你有用 :)
xrll 2003-09-19
  • 打赏
  • 举报
回复
MyDataGrid.Columns.AddAt(3,bc);
xrll 2003-09-19
  • 打赏
  • 举报
回复
如果是自动生成的就只能在DataTable中或在ItemDataBount、ItemCreated中添加,如果不是自动生成可以这样:
BoundColumn bc;
bc = new BoundColumn();
bc.ItemStyle.Width=(Unit)0.20;
bc.HeaderText="合同名称";
bc.ItemStyle.VerticalAlign=VerticalAlign.Middle;
bc.ItemStyle.HorizontalAlign=HorizontalAlign.Left;
bc.DataField="ContractName";
bc.ItemStyle.Wrap = false;
MyDataGrid.Columns.Add(bc);
MyDataGrid.DataBind();
比尔咔咔 2003-09-19
  • 打赏
  • 举报
回复
to: aoyo(遨游)
datagrid.Columns.AddAt()
运行时自动添加列时
dataGrid.Columns.Count=0
永为0
会报错的!!
tianweima 2003-09-19
  • 打赏
  • 举报
回复
up
jianglinchun 2003-09-19
  • 打赏
  • 举报
回复
DataGrid恐怕不能直接添加,要加的话要用sql语句了,然后datagrid重新绑定。

帮你up一下,看看有没有高人帮你解决了。
jianglinchun 2003-09-19
  • 打赏
  • 举报
回复
DataGrid恐怕不能直接添加,要加的话要用sql语句了,然后datagrid重新绑定。

帮你up一下,看看有没有高人帮你解决了。
aoyo 2003-09-19
  • 打赏
  • 举报
回复
datagrid.Columns.AddAt()
比尔咔咔 2003-09-19
  • 打赏
  • 举报
回复
我是用运行时自动添加列的 很难控制
不知谁有好的方法
比尔咔咔 2003-09-19
  • 打赏
  • 举报
回复
up

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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