ComponentArt Grid Tips

来源:互联网 发布:淘宝客高佣金采集工具 编辑:程序博客网 时间:2024/09/21 09:26

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>

原创粉丝点击