NetAdvantage使用手记(二)
1、获取UltraWebGrid选中行的信息
首先要设置UltraWebGrid选择状态为行选择模式。
UltraWebGrid1.DisplayLayout.SelectTypeRowDefault= Infragistics.WebUI.UltraWebGrid.SelectType.Single;
然后可以获取当前选择的行的信息
//UltraWebGrid1第一列的值如:
string gridValue = UltraWebGrid1.DisplayLayout.SelectedRows[0].GetCellValue(this.UltraWebGrid1.Columns[0]).ToString();
可以获取UltraWebGrid中任何一行的某一列某一行的值
//获取第i行第1列的值
string yqbh = UltraWebGrid1.DisplayLayout.Rows[i].GetCellValue(UltraWebGrid1.Columns[1]) .ToString ();
2、设置UltraWebGrid的第0列为模板列,加入CheckBox控件,判断其状态是否被选中,代码如下:
Infragistics.WebUI.UltraWebGrid.TemplatedColumn tcol = (Infragistics.WebUI.UltraWebGrid.TemplatedColumn)UltraWebGrid1.Bands[0].Columns[0];//模板列
foreach(Infragistics.WebUI.UltraWebGrid.TemplatedColumn.CellItem item in tcol.CellItems)
{
System.Web.UI.WebControls.CheckBox chkIsHaveRight =
(System.Web.UI.WebControls.CheckBox)item.FindControl("chbShenhe");
if(chkIsHaveRight.Checked == true)
{
//进行相关的操作
}
}
下面代码稍微修改可以访问指定行里面的数据
//UtrlaWebGrid 模版列的数据操作
//胡福鹏 2007-03-20
//模板列获取 Bands[0].Columns[0],自己根据实际情况,调整band和columns模版列的位置
Infragistics.WebUI.UltraWebGrid.TemplatedColumn tcol = (Infragistics.WebUI.UltraWebGrid.TemplatedColumn)UltraWebGrid1.Bands[0].Columns[0];
if (tcol != null && tcol.CellItems.Count > 0)
{
//获取模版列的cellitem,CellItems[0],表示第一行,
Infragistics.WebUI.UltraWebGrid.CellItem item = (Infragistics.WebUI.UltraWebGrid.CellItem)tcol.CellItems[0];
//在里面找对象
RadioButtonList rbl = (RadioButtonList)item.FindControl("RadioButtonList1");
//获取所需要的值
strText = strText + "[" + rbl.SelectedValue + "]";
}
3、全选方法实现
<script language="javascript">
function SelectAll(ogrdResult, chk)
{
var oGrid = ogrdResult;
var oRows = oGrid.Rows;
for(i=0; i<oRows.length; i++)
{
var oRow = oRows.getRow(i);
oRow.getCellFromKey("CHECK").setValue(chk.checked);
}
}
</script>
将第一列替换成下面的内容:
<igtbl:UltraGridColumn HeaderText="<INPUT TYPE=checkbox name=chkdg ID=chkAll onclick='SelectAll(ogrdResult,this)'>"
Key="CHECK" Width="25px" Type="CheckBox" BaseColumnName="CHECK" AllowUpdate="Yes">
<CellStyle VerticalAlign="Middle" HorizontalAlign="Center"></CellStyle>
<Header Caption="<INPUT TYPE=checkbox name=chkdg ID=chkAll onclick='SelectAll(ogrdResult,this)'>">
</Header>
</igtbl:UltraGridColumn>
还有一种方式:
在第一列的header 的caption 里面贴上下面的内容
<input id="SelectAll1" type="checkbox" name="SelectAll1" onclick="var strGridID = 'grdResult'; if(null==strGridID || strGridID.length<=0){return;} try {var oGrid = ogrdResult; var oRows = oGrid.Rows; var objCurState = document.getElementById('SelectAll1'); var objSetValue = objCurState.checked; for(i=0;i<oRows.length;i++) { (oRows.getRow(i).getCell(0)).setValue(objSetValue); }} catch(e){ return; };" />
也可以,注意将strGridID = 'grdResult' 里面的控件名称修改成正确的名称。
浙公网安备 33010602011771号