ComponentArt Grid Tips

插入数据时客户端验证
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;  
}


设置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>

原文地址:https://www.cnblogs.com/simhare/p/860480.html