gridview编辑时问题

wzxiaozhuang 2009-09-20 12:32:08
我使用gridview设了编辑的功能,可是按下编辑那些框框就变大,使得整个gridview变宽,使我的布局变得很难看,能不能设置编辑时不要变宽,请高手指点下 感谢
...全文
316 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Iovswety 2009-09-20
  • 打赏
  • 举报
回复
3楼说得对,像素是相对于当前的分辨率决定的。分辨率改变了你的gridview也会变的。最好是用百分比控制
  • 打赏
  • 举报
回复
用固定的元素不是很好!~~如果显示器像素变化的话看起来还是有问题,最好是用百分比!~~
ivws_19 2009-09-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wzxiaozhuang 的回复:]
引用 1 楼 jxyxhz 的回复:
给每列的头,加上width属性,用百分比表示。所有的加起来=100%就行
可以用固定的像素表示吗
[/Quote]
用固定像素有局限性,不如百分比好,要不换个分辨率就又变样了
wzxiaozhuang 2009-09-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jxyxhz 的回复:]
给每列的头,加上width属性,用百分比表示。所有的加起来=100%就行
[/Quote]可以用固定的像素表示吗
小_虎 2009-09-20
  • 打赏
  • 举报
回复
给每列的头,加上width属性,用百分比表示。所有的加起来=100%就行
ICrazyBoy 2009-09-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lixinramaxel41658133 的回复:]
用固定的元素不是很好!~~如果显示器像素变化的话看起来还是有问题,最好是用百分比!~~
[/Quote]
恩是的!很少写死像素的因为不同的请求时期,不一样建议百分比就好了!
  • 打赏
  • 举报
回复

<asp:TextBox ID="textbox1" runat="server" Text='<%#Eval("ID") %>'></asp:TextBox>
wzxiaozhuang 2009-09-20
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 mzmxchenweij 的回复:]
<asp:TextBox ID=“textbox1” runat="server" Width="10%" text=" <%# Eval("ID")%>"> </asp:TextBox>
[/Quote]这么写 我的控件都出错了耶
各位帮忙看看吧
Adechen 2009-09-20
  • 打赏
  • 举报
回复
<asp:TextBox ID=“textbox1” runat="server" Width="10%" text=" <%# Eval("ID")%>"> </asp:TextBox>
Adechen 2009-09-20
  • 打赏
  • 举报
回复
<asp:TextBox ID=“textbox1” runat="server" Width="10%"> <%# Eval("ID")%> </asp:TextBox>
  • 打赏
  • 举报
回复
在GridView中加入OnRowCancelingEdit,OnRowUpdating,OnRowEditing事件

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowDeleting="GridView1_RowDeleting" OnRowUpdating="GridView1_RowUpdating" OnRowEditing="GridView1_RowEditing" BorderColor="Black" OnRowDataBound="GridView1_RowDataBound" Width="561px" Font-Size="12px" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" OnRowCommand="GridView1_RowCommand">




/// <summary>
/// 在单击 GridView 控件内某一行的 Update 按钮(其 CommandName 属性设置为"Update"的按钮)时发生,但在 GridView 控件更新记录之前。此事件通常用于取消更新操作。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string ID = GridView1.DataKeys[e.RowIndex].Value.ToString();
string Emp_ID = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim();
string Emp_RealName = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim();
string Emp_Sex = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim();
string Emp_Address = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim();
string sqlStr = "update Employee set EmpID='" + Emp_ID + "',EmpRealName='" + Emp_RealName + "',EmpSex='" + Emp_Sex + "',EmpAddress='" + Emp_Address + "' where ID=" + ID + "";
Common.ExecuteSql(sqlStr);
GridView1.EditIndex = -1;
bind(); //绑定数据
}
/// <summary>
/// 在单击 GridView 控件内某一行的 Edit 按钮(其 CommandName 属性设置为“Edit”的按钮)时发生,但在 GridView 控件进入编辑模式之前。此事件通常用于取消编辑操作。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
bind();
}
/// <summary>
/// 在单击 GridView 控件内某一行的 Cancel 按钮(其 CommandName 属性设置为“Cancel”的按钮)时发生,但在 GridView 控件退出编辑模式之前。此事件通常用于停止取消操作。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
bind();
}
wzxiaozhuang 2009-09-20
  • 打赏
  • 举报
回复
<asp:TemplateField HeaderText="编号">
<ItemTemplate>
<%# Eval("ID")%>
<ItemStyle Width="10%" HorizontalAlign=center/>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox Width="10%"><%# Eval("ID")%></asp:TextBox>
</EditItemTemplate>
<HeaderStyle Width="10%" HorizontalAlign=center />
</asp:TemplateField>


我这么写了 编辑的时候不会变宽了,但是现在编辑的不能编辑了,是不是那里不能用textbox 要怎么写呢 帮忙看下吧
  • 打赏
  • 举报
回复
把需要转化的列,改成TemplateField,它里面有个EditItemTemplate,在这里面设置编辑时的样式!~~
wzxiaozhuang 2009-09-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jxyxhz 的回复:]
给每列的头,加上width属性,用百分比表示。所有的加起来=100%就行
[/Quote]<asp:BoundField DataField="ID" HeaderText="编号" >
<HeaderStyle Width="20%" />
</asp:BoundField>
我这么做了 可是编辑时 框框还是变宽 ???
  • 打赏
  • 举报
回复

<asp:BoundField DataField="ID" HeaderText="编号" >
<HeaderStyle Width="20%" />
</asp:BoundField>
wzxiaozhuang 2009-09-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jxyxhz 的回复:]
给每列的头,加上width属性,用百分比表示。所有的加起来=100%就行
[/Quote]要在哪里加啊 好像没width属性 只有ItemStyle-Width属性
<asp:BoundField DataField="ID" HeaderText="编号" ItemStyle-Width=5%> 不行

62,263

社区成员

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

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

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

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