怎么修改DataGrid编辑状态中的那些TextBox的宽度?头痛 :(

5drush 2003-03-06 12:30:30
200分送上~~~
...全文
29 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
fule 2003-04-17
  • 打赏
  • 举报
回复
看看
webdiyer 2003-03-06
  • 打赏
  • 举报
回复
如果是在模板列是,你可以直接指定宽度,如果是在BoundColumn中,可以在EditCommand事件处理程序中找出所有的TextBox然后赋值。
DataGrid1_EditCommand(object src,DataGridCommandEventArgs e){
DataGrid1.EditItemIndex=e.Item.ItemIndex;
BindDataGrid();//这个绑定事件你自己写
AdjustTextBoxWidth();
}

AdjustTextBoxWidth(){
int i=DataGrid1.EditItemIndex;
DataGridItem item=DataGrid1.Items[i];
foreach(TableCell cell in item.Cells){
if(cell.Controls[0] is TextBox)
((TextBox)cell.Controls[0]).Width=200;
}
}
lzs7710 2003-03-06
  • 打赏
  • 举报
回复
200太美妙啦老兄!!
gz
青团子 2003-03-06
  • 打赏
  • 举报
回复
設置好其他一切(包括綁定字段等)
將該列轉化為模版列,然後編輯模版列,
可以進行該模版列内控件長度、css等的定制。
5drush 2003-03-06
  • 打赏
  • 举报
回复
thanks
shuncy 2003-03-06
  • 打赏
  • 举报
回复
更正一下应该是:
if(i >= 0 && i == e.Item.ItemIndex)
shuncy 2003-03-06
  • 打赏
  • 举报
回复
刚刚试了下,可以用:
在ItemDataBound事件中加入以下代码:

int i = DataGrid1.EditItemIndex;
if(i > 0 && i == e.Item.ItemIndex)
{
for(int j=0;j < (e.Item.Cells.Count -1);j++)
{
TextBox tx = (TextBox)e.Item.Cells[j].Controls[0];
tx.Width = 10;//设置宽度
tx.Text = "aa";//设置文本字段
}
}
gOODiDEA 2003-03-06
  • 打赏
  • 举报
回复
webdiyer(webdiyer)的方法不错,学习
buaawjh 2003-03-06
  • 打赏
  • 举报
回复
css控制
angel_lee 2003-03-06
  • 打赏
  • 举报
回复
study

62,074

社区成员

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

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

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

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