在datagrid中如何设置一个字段可以添加不可修改?(附代码)

yczealot 2003-08-22 08:51:42
点击编辑按纽时,执行以下代码,想让输入框变为只读,

void tb_Edit(object sender, DataGridCommandEventArgs e)
{
....

MyDataGrid.EditItemIndex=Convert.ToInt32(e.Item.ItemIndex);
TextBox EditText;
EditText=(TextBox)e.Item.FindControl("身份证号");
EditText.ReadOnly=true;

BindDataGrid(strSelect,SortField);
}

但其中EditText.ReadOnly=true一行老是出错,说“未将对象引用设置到对象的实例。"请高手指点!
...全文
66 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongkeruanjian 2003-08-22
  • 打赏
  • 举报
回复
应该是
EditText = (TextBox) MyDataGrid.Items[e.Item.ItemIndex].FindControl("IdentifyID");
ITEM少加了S
添加时候怎么做,那要看你怎么实现了,一般的方法是在你实现添加的功能的代码中定义一个事件,然后在PAGE中捕捉,然后就可以客户化了,
yczealot 2003-08-22
  • 打赏
  • 举报
回复
谢谢sgsh,问题解决。
sgsh51 2003-08-22
  • 打赏
  • 举报
回复
EditText = TextBox)MyDataGrid.Items[e.Item.ItemIndex].FindControl("IdentifyID");
Item漏了一个s
yczealot 2003-08-22
  • 打赏
  • 举报
回复
实际上是在Datagrid中设置OnEditCommand="tb_Edit",然后在tb_Edit方法中设置ID为"idcardNo"的字段输入框为只读的,但是在添加时则为可编辑的。
yczealot 2003-08-22
  • 打赏
  • 举报
回复
to sgsh510:
错误提示: 'System.Web.UI.WebControls.DataGrid' does not contain a definition for 'Item'
sgsh51 2003-08-22
  • 打赏
  • 举报
回复
ID不要用中文来表示,换个英文的试试最好用英文来表示
EditText=(TextBox)e.Item.FindControl("身份证号");
改为如下:
EditText = TextBox)MyDataGrid.Item[e.Item.ItemIndex].FindControl("IdentifyID");
//我把TextBox的ID改为了IdentityID
你写的代码从总体上来说就是错的,现在如上所改试试看
yczealot 2003-08-22
  • 打赏
  • 举报
回复
ID就是身份证号
yczealot 2003-08-22
  • 打赏
  • 举报
回复
还是同样的错误啊!
试想如果e.Item.ItemType==ListItemType.Item成立,怎么会找得到control呢?只有在e.Item.ItemType==ListItemType.EditItem成立才行呀。
sgsh51 2003-08-22
  • 打赏
  • 举报
回复
EditText=(TextBox)e.Item.FindControl("身份证号");
这句话有问题,这个应该是你的TextBox的ID号,而不应该是Text值
wacle 2003-08-22
  • 打赏
  • 举报
回复
if(e.Item.ItemType==ListItemType.AlternatingItem||
e.Item.ItemType==ListItemType.Item)
{
......
EditText=(TextBox)e.Item.FindControl("idcardNO"); //here you'd better use english
......
}

62,243

社区成员

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

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

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

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