调节GridView模板列的位置,注意GridView是自动生成数据列,急用!!

我希望自己可以控制模板列的位置,因为我的数据列比较复杂,我希望自己的模板列可以放在自动生成的数据列的后面,或者一个模板列在最前,另外的一个模板列在最后。一定要注意是用自动... 我希望自己可以控制模板列的位置,因为我的数据列比较复杂,我希望自己的模板列可以放在自动生成的数据列的后面,或者一个模板列在最前,另外的一个模板列在最后。一定要注意是用自动生成列,各位达人一定要注意是自动生成列的方式下,控制模板列哦
AutoGenerateColumns ="false"注意,这么做就会失去自动生成列的功能,故不能这么做
展开
 我来答
ozyang
2010-05-17 · TA获得超过1330个赞
知道小有建树答主
回答量:749
采纳率:0%
帮助的人:559万
展开全部
前端用JS,

function GetGridViewId()//获取Gridview的ID
{
var id;
var tb = document.getElementsByTagName("table");
for(var i=0;i<tb.length;i++)
{
if(tb[i].id.indexOf("GridView1")!=-1)
{
id = tb[i].id;
break;
}
}
return id;
}

window.onload=function()
{
var tb = document.getElementById(GetGridViewId());//获取Table
for(var i=0;i<tb.rows.length;i++)//循环Table每一行
{
if(tb.rows[i].cells.length<=1)
{
break; //防止分页出现tb.rows[i].cells[1]为空情况
}
var clonetd = tb.rows[i].cells[1].cloneNode(true); //克隆第二列(模板列),即预测值那列
var newtd = tb.rows[i].insertCell();//插入一个新列
newtd.replaceNode(clonetd);//把新列用克隆的第二列置换掉
tb.rows[i].cells[1].style.display="none";//隐藏第二列,即预测值那列
}
}

<asp:GridView ID="GridView1" runat="server" >
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btnForecast" runat="server" Text="单件预测" CommandName="Forecast" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="预测值">
<ItemTemplate>
<asp:TextBox ID="txtForecastValue" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

后端你GridView绑定数据源,我就不写了.

这样就可以实现你的功能了,第一列为模板列,然后是自动生成列,最后还是一个模板列
ysyhyt
2010-05-14 · TA获得超过1507个赞
知道小有建树答主
回答量:1599
采纳率:0%
帮助的人:686万
展开全部
调整一下
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns ="false" >
AutoGenerateColumns ="false"加上这句话。
然后
<asp:TemplateField >
<ItemTemplate >
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>

<asp:TemplateField >
<ItemTemplate >
<asp:Label ID="Label1" runat="server" Text="<%#Container.DataItemIndex+1 %>"></asp:Label>
</ItemTemplate>
</asp:TemplateField>

<asp:BoundField HeaderText ="id" DataField ="id" ItemStyle-Width ="100px" ReadOnly ="true" SortExpression ="id" />

<asp:BoundField HeaderText ="name" DataField ="name" ItemStyle-Width ="100px" SortExpression ="name" />

<asp:BoundField HeaderText ="pwd" DataField ="pwd" ItemStyle-Width ="100px" SortExpression ="pwd"/>

<asp:BoundField HeaderText ="birthday" DataField ="bir" ItemStyle-Width ="100px" SortExpression ="bir"/>

<asp:TemplateField HeaderText ="sex" >
<ItemTemplate >
<asp:RadioButton ID="RadioButton1" runat="server" Text ="man" GroupName ="sex"/>
<asp:RadioButton ID="RadioButton2" runat="server" Text ="womman" GroupName ="sex"/>
</ItemTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText ="address">
<ItemTemplate >
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Text="北京"></asp:ListItem>
<asp:ListItem Text="上海"></asp:ListItem>
<asp:ListItem Text="广州"></asp:ListItem>
<asp:ListItem Text="重庆"></asp:ListItem>
<asp:ListItem Text="深圳"></asp:ListItem>
<asp:ListItem Text="沈阳"></asp:ListItem>
<asp:ListItem Text="武汉"></asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>

<asp:CommandField ShowEditButton ="true" HeaderText ="edit" ButtonType ="Button" />

<asp:CommandField ShowDeleteButton ="true" HeaderText ="delete" ButtonType ="Button" />
</Columns>
<RowStyle HorizontalAlign ="Center" />
</asp:GridView>
给你个例子,看看吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lovemingming
2010-05-14 · TA获得超过4137个赞
知道大有可为答主
回答量:1422
采纳率:0%
帮助的人:1422万
展开全部
在你的select语句中按照你想要的顺序写字段名。。。
比如表A字段顺序是C1,C2,C3,C4,C5你想按C3,C2,C5,C4,C1的顺序显示,你就
select c3,c2,c5,c4,c1 from a就可以了。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式