调节GridView模板列的位置,注意GridView是自动生成数据列,急用!!
我希望自己可以控制模板列的位置,因为我的数据列比较复杂,我希望自己的模板列可以放在自动生成的数据列的后面,或者一个模板列在最前,另外的一个模板列在最后。一定要注意是用自动...
我希望自己可以控制模板列的位置,因为我的数据列比较复杂,我希望自己的模板列可以放在自动生成的数据列的后面,或者一个模板列在最前,另外的一个模板列在最后。一定要注意是用自动生成列,各位达人一定要注意是自动生成列的方式下,控制模板列哦
AutoGenerateColumns ="false"注意,这么做就会失去自动生成列的功能,故不能这么做 展开
AutoGenerateColumns ="false"注意,这么做就会失去自动生成列的功能,故不能这么做 展开
3个回答
展开全部
前端用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绑定数据源,我就不写了.
这样就可以实现你的功能了,第一列为模板列,然后是自动生成列,最后还是一个模板列
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绑定数据源,我就不写了.
这样就可以实现你的功能了,第一列为模板列,然后是自动生成列,最后还是一个模板列
展开全部
调整一下
<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>
给你个例子,看看吧。
<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>
给你个例子,看看吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在你的select语句中按照你想要的顺序写字段名。。。
比如表A字段顺序是C1,C2,C3,C4,C5你想按C3,C2,C5,C4,C1的顺序显示,你就
select c3,c2,c5,c4,c1 from a就可以了。。。。
比如表A字段顺序是C1,C2,C3,C4,C5你想按C3,C2,C5,C4,C1的顺序显示,你就
select c3,c2,c5,c4,c1 from a就可以了。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询