• 全部
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

请教各位大哥,datagrid中编辑按钮如何应用样式?

zyq1215 2004-10-26 02:34:56
<asp:EditCommandColumn ButtonType="PushButton" UpdateText="上传" HeaderText="编辑" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>

请教三种按钮怎样应用样式?
...全文
113 点赞 收藏 18
写回复
18 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Eddie005 2004-10-26
e.Item.Cells[4].Controls是一个控件的集合,
根据实践的经验一般有这样的规律:
如果是按钮列,就是Controls[0],如果按钮列中同时出现“更新”“取消”,那么就是Controls[0]、[2];

如果是模板列嵌套的服务器端控件,那么就是Controls[1]、[3]、[5]、......
除此之外没什么可说的了
回复
zyq1215 2004-10-26
Button btnCancel = (Button)e.Item.Cells[4].Controls[2];可以了,多谢,多谢
能不能请教为什么不是[1]呢?
回复
zyq1215 2004-10-26
谢谢暴大哥,我再试试
回复
zyq1215 2004-10-26
取消键是第4列的第2控件呀,应该是(Button)e.Item.Cells[4].Controls[1]呀!
回复
Eddie005 2004-10-26
... sorry ... 试试Button btnCancel = (Button)e.Item.Cells[4].Controls[2];
回复
Eddie005 2004-10-26
哦,试试Button btnCancel = (Button)e.Item.Cells[4].Controls[3];
回复
zyq1215 2004-10-26
不是样式的问题
Button btnCancel = (Button)e.Item.Cells[4].Controls[1]; 报错

Button btnUpdate = (Button)e.Item.Cells[4].Controls[0]; 则可以,怎么回事?
回复
Eddie005 2004-10-26
if(e.Item.ItemType==ListItemType.EditItem)
{
Button btnUpdate = (Button)e.Item.Cells[4].Controls[0]; //第四列
btnUpdate.CssClass = "button";
Button btnCancel = (Button)e.Item.Cells[5].Controls[0]; //第五列
btnCancel.CssClass = "button";
}

Button btnCancel = (Button)e.Item.Cells[4].Controls[1]; 报错,
怎么回事?
回复
Eddie005 2004-10-26
你有没有使用样式css?
如果有,那么btnUpdate.CssClass = "你定义的一种样式";
如果没有,就要一个一个的设置了,例如
btnUpdate.BackColor = System.Drawing.Color.Yellow;
btnUpdate.ForeColor = System.Drawing.Color.Red;
btnUpdate.Style.Add("BORDER-RIGHT","black 1px double");//右边界
................
回复
zyq1215 2004-10-26
if(e.Item.ItemType==ListItemType.EditItem)
{
Button btnUpdate = (Button)e.Item.Cells[4].Controls[0];
btnUpdate.CssClass = "button";
Button btnCancel = (Button)e.Item.Cells[4].Controls[1];
btnCancel.CssClass = "button";
}

Button btnCancel = (Button)e.Item.Cells[4].Controls[1]; 报错,
怎么回事?
回复
icyer 2004-10-26
btnUpdate.Attributes.Add("Style", "button");
其他类似
回复
zyq1215 2004-10-26
Button btnUpdate = (Button)e.Item.Cells[0].Controls[0]; //假设是第一列
btnUpdate.Style = "样式名";
可以

Button btnCancel = (Button)e.Item.Cells[0].Controls[1];
btnCancel.Style ="样式名";
不行

怎么回事?
回复
zyq1215 2004-10-26
icyer大哥和暴大哥:
btnUpdate.Style = "button"
编译不了,怎么办?
回复
huoming1978 2004-10-26
<asp:EditCommandColumn ButtonType="PushButton" UpdateText="上传" HeaderText="编辑" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>
你这样就是统一的呀.
回复
Eddie005 2004-10-26
icyer() 完全正确
回复
zyq1215 2004-10-26
但我想用PushButton以求统一
回复
icyer 2004-10-26
在ItemDataBound中设置:
if (e.Item.ItemType == ListItemType.Edit)
{
Button btnUpdate = (Button)e.Item.Cells[0].Controls[0]; //假设是第一列
btnUpdate.Style = "样式名";
Button btnCancel = (Button)e.Item.Cells[0].Controls[1];
btnCancel.Style = "...";
}
else if (e.Item.ItemIndex >= 0)
{
Button btnEdit = (Button)e.Item.Cells[0].Controls[0];
btnEdit.Style = "...";
}

try it.
回复
bitsbird 2004-10-26
ButtonType="LinkButton"
回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2004-10-26 02:34
社区公告
暂无公告