UltraWebGrid使用总结
删除数据提示以及查询出删除条件
function RowDel(id)
{
var row = igtbl_getActiveRow("UltraWebGrid1");
var ApplyID = "", tmpstr = "";
var Fid=document.Form1.ProId.value;
tmpstr = "RejectReportAdd.aspx?Opre=del&ProId="+Fid;
if(row!=null)
{
if(confirm("您确定要删除记录删除后不可恢复"))
{
ApplyID = row.getCellFromKey("FID").getValue();
tmpstr += "&FID="+id;
}
else
{
return false;
}
}
Else
{
alert("请选择需要删除的记录");
return false;
}
this.location.href=tmpstr;
}
实现页面的刷新
1 将页面跳转路径前加一个变量接受页面跳转后传回的数据。
例如
var s=window.showModalDialog("RejectReportAdd.aspx?Opre=Rowupdate&FID="+id+"&Pr
oId="+document.Form1.ProId.value,window,"dialogWidth=900px;dialogheight=250px;");
2 判断上面定义的变量是否为空
例如
if(s!=null)
{
window.open("PrjReportList.aspx?prjid="+Fid,"_self");
}
3 在第一步跳转到的页面内在当前页面要跳转到原页面之前加入以下代码
this.Page.RegisterStartupScript("","<script>alert('数 据 已 保 存
');window.close();window.returnValue=1;</script>");
当页面数据加载时将页面每一行加入修改和删除 解决方法
(1) 添加UltraWebGrid1_InitializeRow事件
(2) 在该事件中加入以下代码
string id=Convert.ToString(e.Row.Cells.FromKey("FID").Value);
e.Row.Cells.FromKey("RowsUpdate").Text="<a title='修改' href=#' onclick='RowUpd("+id+")'>修
改</a>";
e.Row.Cells.FromKey("RowsDel").Text="<a title='删除' href='#' onclick='RowDel("+id+")'>删除
</a>";
其中id是当前该行数据的主键用来对数据处理的依据。 附件的上传下载删除、查看
1 在该页面内加入框架见以下代码
<IFRAME id="FileEditFm" style="Z-INDEX: 144; LEFT: 8px; WIDTH: 500px;
POSITION: absolute; TOP: 8px; HEIGHT: 112px" src="" frameBorder="0" width="500"
scrolling="no" height="200" name="FileEditFm"></IFRAME>
2 在框架代码后加入4个隐藏域
<INPUT id="hdnDataID" style="Z-INDEX: 139; LEFT: 520px; WIDTH: 24px; POSITION:
absolute; TOP: 64px; HEIGHT: 21px" type="hidden" size="1" name="hdnDataID"
runat="server">
<INPUT id="hdFileUpInfoList" style="Z-INDEX: 147; LEFT: 344px; WIDTH: 24px;
POSITION: absolute; TOP: 136px; HEIGHT: 21px" type="hidden" size="1"
name="hdFileUpInfoList" runat="server">
<INPUT id="hdFileDelIDList" style="Z-INDEX: 146; LEFT: 296px; WIDTH: 24px;
POSITION: absolute; TOP: 136px; HEIGHT: 21px" type="hidden" size="1"
name="hdFileDelIDList" runat="server">
<INPUT id="hdnAddNew" style="Z-INDEX: 138; LEFT: 520px; WIDTH: 24px; POSITION: absolute; TOP: 24px; HEIGHT: 21px" type="hidden" size="1"
name="hdnAddNew" runat="server">
3 在隐藏域下面加入一个附件上传的按钮
<A class="MrDocButton" id="A3" style="Z-INDEX: 101; LEFT: 200px; WIDTH: 65px;
POSITION: absolute; TOP: 136px; HEIGHT: 21px" Click()" href="#" name="btnAdd"
runat="server" ms_positioning="FlowLayout"> 确定</A>
4 在页面head之间加入以下js代码
<script language="javascript">
function InitFileEditorFrame()
{
var sDataTableName = "PT_CRBC_AccidentReport";
//业务数据表的名称平台的文件系统以此表名和下面的数据记录ID定位其关联的文
件
var sDataRecordID = "-1";
//如果是新添加数据记录
if (Form1.hdnAddNew.value=="" && Form1.hdnDataID.value!="")
{
//如果不是新添加数据得到当前要显示或修改的数据记录的主键ID
sDataRecordID = Form1.hdnDataID.value;
}
var sEditFlag="2";
//调用方式:0 仅允许浏览下载、1 仅允许删除和上传、2 可同时浏览下载或删除上传
var sFileInfoParam = sDataTableName + "," + sDataRecordID +"," + sEditFlag;
FileEditFm.location.href = "http://www.cnblogs.com/Commons/ObjectFinder/FileEditor.aspx?FilesInfo=" +
sFileInfoParam;
}
function ProcessFileEditorData()
{
//页面数据提交到服务端之前获取文件附件相关的数据要删除的文件ID列表以及
要上传的文件信息
Form1.hdFileDelIDList.value=FileEditFm.GetDelID();
Form1.hdFileUpInfoList.value=FileEditFm.GetUPFileInfo();
}
function btnOKClick()
{
//btnOK.href = "#"
//if(CheckInputValid()){
//页面数据提交到服务端之前获取文件附件相关的数据
ProcessFileEditorData();
//页面数据提交到服务端之前获取Html编辑器的html内容
//ProcessWebEditorData()
//btnOK.href = "javascript:__doPostBack('btnOK','')";
//else {
alert("请重新输入");
}
}
</script>
5 在附件提交按钮上添加点击事件
添加以下代码
//处理“向通知公告”栏目发布内容
//string sBroadMsgParam="";
Morrowsoft.Commons.ObjectFinder.FileUpInfo FileUpInfoObj=new
Morrowsoft.Commons.ObjectFinder.FileUpInfo();
//业务数据表的名称平台的文件系统以此表名和下面的数据记录ID定位其关联的文件
FileUpInfoObj.TableName = "PT_CRBC_AccidentReport";
//数据表的名称
//数据记录ID即附件主人ID注意如果是新增的一条数据则插入数据到数据表后需重
新取得该ID避免该ID为空。
FileUpInfoObj.KeyValue = this.hdnDataID.Value;
//附件操作完后跳转页,注意使用相对于 Commons/ObjectFinder/FileSavePage.aspx 的相对
路径
FileUpInfoObj.RedirectUrl = "http://www.cnblogs.com/Source/MyTest2/PrjACBaseEdit.aspx";
//附件所属模块文件存储路径以大于10000小于65535的数字命名不同业务模块应使用
不同数字便于磁盘文件分类存储
ileUpInfoObj.RootID ="10001";
//从客户端得到的要删除和上传的文件信息
FileUpInfoObj.UpFileInfoList = hdFileUpInfoList.Value;
FileUpInfoObj.DeleteFileID = hdFileDelIDList.Value;
//通过 Session 传递需要处理的附件以及相关信息
Session["PostInfo"]=FileUpInfoObj.GetextendedAttribute();
//跳转到附件处理页面处理完成后会跳转回上面定义的跳转页
Response.Redirect("http://www.cnblogs.com/Commons/ObjectFinder/FileSavePage.aspx");
在表格下方插入新的一行
function RowsAdd()
{
var Grid=igtbl_getGridById("UltraWebGrid1");
var NewRow=igtbl_addNew("UltraWebGrid1",0);
} 向表格的列中加入下拉菜单
1 加入固定的字符
Infragistics.WebUI.UltraWebGrid.ValueList CostList=new
Infragistics.WebUI.UltraWebGrid.ValueList(true);
CostList2.ValueListItems.Add("当地","当地");
CostList2.ValueListItems.Add("进口","进口");
UltraWebGrid1.Columns.FromKey("FMRCome").Type=Infragistics.WebUI.UltraWebGrid
.ColumnType.DropDownList;
UltraWebGrid1.Columns.FromKey("FMRCome").AllowUpdate=Infragistics.WebUI.Ultra
WebGrid.AllowUpdate.Yes;
UltraWebGrid1.Columns.FromKey("FMRCome").ValueList=CostList2;
2 加入动态的字符
Infragistics.WebUI.UltraWebGrid.ValueList CostList=new
Infragistics.WebUI.UltraWebGrid.ValueList(true);
//从材料表中查询材料信息
string strSql="select F_kmmc,f_kmbm,F_UNIT from pmt_xx_clkm where F_TYPE =1 and
F_ID not in(select F_PID from pmt_xx_clkm)";
DataSet rs=Morrowsoft.DB.DataAccess.dataSet(strSql);
string count=rs.Tables[0].Rows.Count.ToString();
//将材料名称从数据库中取出放入到材料名称列中
for(int i=0;i<rs.Tables[0].Rows.Count;i++)
{
String
bmdw=rs.Tables[0].Rows[i]["f_kmbm"].ToString()+","+rs.Tables[0].Rows[i]["F_UNIT
"].ToString();
CostList.ValueListItems.Add(bmdw,rs.Tables[0].Rows[i]["F_kmmc"].ToString());
}
rs.Clear();
//设置材料编号的属性当用户点击材料编号时出现下拉菜单。
UltraWebGrid1.Columns.FromKey("F_KMMC").Type=Infragistics.WebUI.UltraWebGrid.
ColumnType.DropDownList;
UltraWebGrid1.Columns.FromKey("F_KMMC").AllowUpdate=Infragistics.WebUI.UltraW
ebGrid.AllowUpdate.Yes;
UltraWebGrid1.Columns.FromKey("F_KMMC").ValueList=CostList;
添加自动增长列
if(ds.Tables[0].Rows.Count>0&&ds.Tables[0].Rows[0][0].ToString()!="")
{
FID=Convert.ToInt32(ds.Tables[0].Rows[0][0].ToString())+1; }
else
{
FID=1;
}
当选中某个单元格时选中一整行
选择UltraWebGrid-displayout CellClickActionDefault=RowSelected
想表格中加入日期选择框
1 拖一个日期框到表格的页面。
2 在要添加日期框的列添加以下代码
<igtbl:UltraGridColumn HeaderText="导 入 时 间" Key="FMRCDate"
EditorControlID="WebDateChooser1" Type="Custom"
Format="MM/dd/yyyy" DataType="System.DateTime" BaseColumnName="FMRCDate"
AllowUpdate="Yes"></igtbl:UltraGridColumn>
HeaderText--------列名
EditorControlID--------第一步中拖入页面的日期框的ID
Type--------显示类型
Format-------显示格式
DataType--------数据类型
AllowUpdate-------是否可以更改
页面加入checkBox InitializeLayout事件里面加入
gridView.Columns.Add("F_SELFID");
gridView.Columns.FromKey("F_SELFID").HeaderText = "<Input type='checkbox'
id='ck' onClick='AllCheck()' value='0'>";
gridView.Columns.FromKey("F_SELFID").Width = new Unit("50px");
gridView.Columns.FromKey("F_SELFID").Move(0);
gridView.Columns.FromKey("F_SELFID").Type=Infragistics.WebUI.UltraWebGrid.ColumnType.Ch
eckBox;
gridView.Bands[0].Columns.FromKey("F_SELFID").AllowUpdate=Infragistics.WebUI.UltraWebGrid.AllowUpdate.Yes;
gridView.Columns.FromKey("F_SELFID").CellStyle.HorizontalAlign=HorizontalAlign.Center;
//禁止排序
gridView.Columns[0].SortIndicator =
Infragistics.WebUI.UltraWebGrid.SortIndicator.Disabled;
前台读取的时候 var grid=igtbl_getGridById("AccessoryGrid"); for(var i = 0;i < grid.Rows.length;i++){ var rw = grid.Rows.getRow(i); var
isSel=rw.getCellFromKey("F_SELFID").getValue(); if (isSel == true) {}
前台的全选方法
function AllCheck() { var status =Form1.ck.checked; var grid =
igtbl_getGridById("AccessoryGrid"); for(i = 0; i < grid.Rows.length; i++) { var row =
grid.Rows.getRow(i); row.getCellFromKey("F_SELFID").setValue(status); } }