再问:DataGrid的OnUpate问题,我可以加入两个EditCommandColumn列吗。。

javanow 2002-03-15 12:30:51
我想点其中一个来做更改密码。
点其中一个来做更改权限。
我怎么判断点了哪个EditCommandColumn。
而且做到点了 更改密码的 EditCommandColumn 时,生成一个password框输入新密码。

点更改权限的EditCommandColumn时生成一组checkboxlist来让他修改权限。

多谢了。
一定接分的
...全文
30 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhq2000 2002-03-17
  • 打赏
  • 举报
回复
DotNet Framework SDK 有中文版的,你到microsoft上找找,里面的文档是中文的。

http://msdn.microsoft.com/msdnmag/default.asp 上有几篇关于 DataGrid的文章!

其实关键是了解ItemDataBinding , ItemCreated , ItemCommand , 及利用Web控件的CommandName 及 CommandArgument属性!
javanow 2002-03-16
  • 打赏
  • 举报
回复
TO zhq2000(俗子)

谢谢你,我有时间去试试

除了sdk ,我在哪里能对 DataGrid 了解更多呢?
有好范例吗?
zhq2000 2002-03-16
  • 打赏
  • 举报
回复
老弟,思路可以放宽点:

一、采用TemplateColumn代替EditCommandColumn , 在ItemCommand事件中处理相应的操作。


二、加入两列EditCommandColumn ,在ItemDataBinding事件中分别为些两列的项通过.Attributes.Add方法增加一标识属性:
WebControl w = (WebControl) e.Item.Cells[n].Controls[m];
w.Attributes.Add("cmdtag" , "口令");
w = (WebControl) e.Item.Cells[x].Controls[y];
w.Attributes.Add("cmdtag" , "权限");
// n , x 是列序号 ; m , y 是控制序号 , 如果 y 不好确定,可以通过下需方式得到
//// foreach(WebControl wc in e.Item.Cells[n].Controls)
//// {
//// w.Attributes.Add("cmdtag" , "口令");
//// }
在EditCommand事件中,取出 e.CommandSource 中的标识属性,可以判断是那一个Edit操作:
WebControl wc = (WebControl) e.CommandSource;
if( wc["cmdtag"] == "口令" )
{
.....
}
else( wc["cmdtag"] == "权限")
{
.....
}


这两个方法都能达到你的目的,如果你想用而还不理解的话,说明你对DataGrid的了解太少,就不要再想了,乖乖用两页方式完成交差吧!
千万别再说不行,要说不会,比这复杂的DataGrid我都做了 .

祝工作顺利!

:)
javanow 2002-03-15
  • 打赏
  • 举报
回复
已经浪费了24小时了

我决定将改密码与改权限2页分开。
我按上面的去做。做不到
:(


javanow 2002-03-15
  • 打赏
  • 举报
回复
我按你的方法
jerryfangsh 2002-03-15
  • 打赏
  • 举报
回复
使用TemplateColumn,在使用TemplateColumn时,在TemplateColumn中放置两个LinkButton.
设置LinkButton的CommadName为两个你想设置的值,例如"ChangePWD","ChangeInfo".

然后使用OnItemCommand事件,不要使用对应的什么OnUpdateCommand或者OnDeleteCommand等等其他相应Item事件的函数.

然后用switch判断DataGridCommandEventArgs e的属性e.CommandName来决定采取何种动作.
zzgsky 2002-03-15
  • 打赏
  • 举报
回复
忘了一点
在datagrid属性中加入
OnupdateCommand="DataList_UpdateCommand"
OnDeleteCommand="DataList_DeleteCommand"
zzgsky 2002-03-15
  • 打赏
  • 举报
回复
在临时列中加入linkbutton试试
<asp:LinkButton id="del" Text="删除" CommandName="delete" runat="server" />
<asp:LinkButton id="ftp" Text="挂出" CommandName="update" runat="server" />
对应方法
void DataList_deleteCommand(Object sender,DataGridCommandEventArgs e) {}
void DataList_UpdateCommand(Object sender,DataGridCommandEventArgs e) {}
javanow 2002-03-15
  • 打赏
  • 举报
回复
to:zhq2000(俗子)

我可以通过数据库端来最后判断有没有权利修改用户的具体信息的。
能告诉我怎么样才能知道点的是哪个 EditCommandColumn 吗?

再:
而且做到点了 更改密码的 EditCommandColumn 时,生成一个password框输入新密码。

点更改权限的EditCommandColumn时生成一组checkboxlist来让他修改权限。

能做到吗?
哎。asp 1个小时搞定的,到现在24小时都搞不定了
zhq2000 2002-03-15
  • 打赏
  • 举报
回复
完全没问题! 但是这样做效果不是太好!
最好是专门做一个权限的DataGrid来修改权限!
javanow 2002-03-15
  • 打赏
  • 举报
回复
能告诉我用的是什么方法么?
不会是分开2个页面吧?
BruceZhang 2002-03-15
  • 打赏
  • 举报
回复
是么?我以前也想过这个问题,但后来用了别的方法解决的。如果真能实现真的是件好事,我也愿闻其详!
javanow 2002-03-15
  • 打赏
  • 举报
回复
我想可以实现吧?
因为可以放2个 EditCommandColumn的呀。
我发现那个什么 DataGrid_OnUpdate并不好用。
麻烦,不如分成2个程序方便
BruceZhang 2002-03-15
  • 打赏
  • 举报
回复
我觉得这个好像实现不好,因为好像DataGrid响应的EditCommandColumn事件仅有一个。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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