ComponentArt Grid Tips

本文介绍了如何在网格控件中实现客户端数据验证、自动提交功能、创建永远可编辑的CheckBox以及自定义分组等功能。通过JavaScript和代码背后的结合,实现了更加灵活和高效的网格操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.插入数据时客户端验证:

function onInsert(item)
{
 var exp = item.GetMember('CompanyName').Value;
 if(exp=="")
 {
  alert("Company Name can not be blank !");
  return false;
 }
 return true;
}  

function onUpdate(itemBefore,itemAfter)//itemAfter:更新后
{
 var exp = itemAfter.GetMember('CompanyName').Value;
 if(exp=="")
 {
  alert("Company Name Name can not be blank !");
  return false;
 }
 return true; 
}
2.自动提交:可对比其自带示例.

设置RunningMode:CallBack

设置AutoPostBackOnInsert etc 或AutoCallBackOnInsert etc 为True.

并在Form_Load:

if (!Page.IsPostBack && !Grid1.IsCallback){}

3.永远可编辑的CheckBox:<由于数据库中列不是Boolean,所以处理起来比较麻烦些>

Columns中定义:

<componentart:GridColumn DataCellClientTemplateId="EnableCheckboxTemplate" DataField="CheckBox"></componentart:GridColumn>

<ClientTemplates>
<componentart:ClientTemplate ID="EnableCheckboxTemplate">
         <input type="checkbox" " ## DataItem.GetMember('CheckBox').Value=='true' ? ' checked' : ' ' ## "
          onClick="saveCheckbox('## DataItem.ClientId ##', '## DataItem.GetMember('CheckV').Value ##', this.value,this);" />
        </componentart:ClientTemplate>
       </ClientTemplates>

function saveCheckbox(itemId, columnField, newValue2,controlv)
   {
    var row = Grid1.GetRowFromClientId(itemId);
    var col = 0;
    for (var i=0;i<Grid1.Table.Columns.length;i++)
    {
     if (Grid1.Table.Columns[i].DataField == columnField)
     {
      col = i;
      break;
     }
    }
    row.SetValue(col, controlv.checked, false);
    return true;
   }

Codebehind:

foreach (GridItem item in Grid1.Items)
   {
    if (item["CheckBox"].ToString()=="true")
    {
     //TO DO LIST
    }
   }

4.自定义分组;

<ComponentArt:Grid id="Grid1" GroupBy="Field ASC"

<componentart:GridLevel DataKeyField="PipeID" GroupHeadingClientTemplateId="GroupByTemplate" .

<componentart:ClientTemplate ID="GroupByTemplate">
         <a href="javascript:SelectLine('## DataItem.ColumnValue ##');">##
          DataItem.ColumnValue ##</a>
        </componentart:ClientTemplate>

<script>
   var pageSize = 15;
   var pageSizeFix = 10000;
   function Grid1_groupingChange(sender, e)
   {
   if (e.get_column())
   {
    sender.set_pageSize(pageSizeFix);
   }
   else
   {
    sender.set_pageSize(pageSize);
   }
   }
  </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值