主要目的

A.掌握在GridPanel当前行到每个字段的值的方法
b.掌握如何将前台数据传输到后台,并将后台操作结果返回前台。
C.掌握了如何获取和设置文本值的按钮和文本框控件

主要内容

我们首先将三Ext组件的网页存储,菜单,GridPanel

B组到的contextmenuid菜单的控件的ID加为GridPanel的右键菜单
复制代码代码如下所示:
<分机:商店ID =STORE1runat=server
onbeforestorechanged =store1_beforestorechanged>













如果ReaderID不在这里设置,您可以使用该方法gridpanel1.getselectionmodel()GetSelected()。Id得到的值对应的行ID字段。
使用这种方法的前提是在GridPanel设置选择模式为行选择模式,和代码将被张贴后。名对应的字段的名称在数据库表。
复制代码代码如下所示:


























结果如下:
C.套到的storeid店为控件的ID,加入Gridpanel的数据源

到源代码如下:
复制代码代码如下所示:
<分机:到id =gridpanel1runat=servercontextmenuid =menu1 真实autoheight =宽度=400px
autodatabind =真正的storeid =STORE1>



























这里有几点要解释
首先,由cellclick事件传递的参数可以根据设置在preparecommand args参数传递,如网格、指挥、记录、排,COL,价值。
下一步,选择模式的节点应该是利用rowselectionmodel

D.前台ExtJS脚本如下:

复制代码代码如下所示:
功能showuserinfo(菜单,e){
var = gridpanel1.getselectionmodel(ID)。当选(ID); / /在readerid JsonReader ID值设定
var记录= gridpanel1.getselectionmodel(。当选)(); / /获取当前选择的全部记录,前提是必须设置的行选择模式

请参见详细信息
如果(menu.id = = 'menuitem1){
OpenUserInfoWindow(记录0); / /定义在objectinfo.ascx页
}
修改信息
如果(menu.id = = 'menuitem2){
OpenUserInfoWindow(记录1);
}
添加信息
如果(menu.id = = 'menuitem3){
OpenUserInfoWindow(记录2);
}
{其他

}
}


这个脚本,有一点要注意,就是叫openuserinfowindow方法,它是在一个用户控件的页面定义。在使用此页之后,可以调用该方法。
空间页的源代码如下所示:
指出:用户获取服务器端组件对象。
复制代码代码如下所示:
功能openuserinfowindow(记录ID){
隐藏(null);
。setValue(记录数据。ID);
。setValue(记录数据。UID);
。setValue(记录数据。uname);
。setValue(记录数据。语言);
如果(id = 1)
{
设置('modify '); / /值按钮,文本,setText(集);
隐藏(null);
显示(null);
}
如果(id = 0)
{

}
如果(id = 2)
{
setValue();
setValue();
setValue();
setValue();
隐藏(null);
值;

}
显示();
}


删除用户代码如下:
复制代码代码如下所示:
函数的DeleteUserInfo(){
Ext.Msg.confirm ('hint', 'make sure to delete users',功能(BTN){
如果(BTN = =){
var记录= gridpanel1.getselectionmodel()GetSelected();
(gridpanel1。getStore)。删除(记录); / /这个方法如果写在背景成功回调函数删除记录时空后
用户可以点击到 / /只,但没有选择的路线,并记录值为空
如果(记录= NULL){
Ext.Msg.alert('hint ','请选择某一记录!);
返回;
}
Coolite.AjaxMethods.DeleteUserInfo(record.data.id.tostring(),{
成功:函数(){

Ext.Msg.alert('hint ','删除成功!);
}
});
}
{其他
返回;
}
});
}


请特别注意的coolite.ajaxmethods.deleteuserinfo的使用方法。第一个参数是在前台获取并传递给服务器端,第二个参数是回调函数。
后台删除代码的实现如下:

复制代码代码如下所示:
{ ajaxmethod }
公共无效DeleteUserInfo(字符串ID)
{
字符串deletestring =删除t_user id是+身份证;
sqldb.executeupdate(deletestring);
}


特别注意
这个页面的添加,修改功能没有实现,只提供了一个模式,但它与使用和删除时相同。
学习经验
如果您不知道任何事件传递的参数的数量和类型,您可以随意编写错误的方法,然后在调试时分析有意义的参数。
问题:在实现删除,当实现刷新,修改时,我不需要重新从数据库中读取数据,然后与存储,但通过刷新或到店。