Asp.net RadGrid OnRowDataBound等效物

Asp.net RadGrid OnRowDataBound等效物,asp.net,telerik,radgrid,Asp.net,Telerik,Radgrid,我正在动态创建gridview并使用gridview,以下代码正在运行: protected void OnRowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { for (var i = 1; i <= 7; i++) {

我正在动态创建gridview并使用gridview,以下代码正在运行:

protected void OnRowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            for (var i = 1; i <= 7; i++)
            {
                var hDate = new HiddenField { ID = "hDate" + i, Value = string.Format("{0:yyyy-MM-dd}", _weekStart.AddDays(i - 1)) };
                e.Row.Cells[i].Controls.Add(hDate);
                var hEmployeeId = new HiddenField { ID = "hEmployeeId" + i, Value = ((DataRowView)e.Row.DataItem).Row["EmployeeId"].ToString() };
                e.Row.Cells[i].Controls.Add(hEmployeeId);

                var lstStart = TimeListBox("lstStart" + i, ((DataRowView)e.Row.DataItem).Row[GetDay(i) + "S"].ToString());
                e.Row.Cells[i].Controls.Add(lstStart);
                var lstEnd = TimeListBox("lstEnd" + i, ((DataRowView)e.Row.DataItem).Row[GetDay(i) + "E"].ToString());
                e.Row.Cells[i].Controls.Add(lstEnd);
                var lstStoreSection = StoreSectionListBox("lstStoreSection" + i, ((DataRowView)e.Row.DataItem).Row[GetDay(i) + "SS"].ToString());
                e.Row.Cells[i].Controls.Add(lstStoreSection);
            }

            var lnkView = new LinkButton { ID = "lnkView", Text = "View" };
            lnkView.Click += ViewDetails;
            lnkView.CommandArgument = ((DataRowView)e.Row.DataItem).Row["Id"].ToString();
            e.Row.Cells[8].Controls.Add(lnkView);
        }
    }
受保护的void OnRowDataBound(对象发送方,GridViewRowEventArgs e)
{
如果(e.Row.RowType==DataControlRowType.DataRow)
{

对于(var i=1;iTelerik的建议是在客户端执行此操作,以使用OnRowDataBound减少流量并提高速度,但客户端:

从Telerik文档中可以看出:


JavaScript

function RowDataBound(sender, args) {
    // conditional formatting
    if (args.get_dataItem()["TitleOfCourtesy"] == "Dr.") {
        args.get_item().get_cell("TitleOfCourtesy").style.fontWeight = "bold";
    }
    var sb = new Sys.StringBuilder();
    sb.appendLine("<b>RowDataBound</b><br />");
    for (var item in args.get_dataItem()) {
        sb.appendLine(String.format("{0} : {1}<br />", item, args.get_dataItem()[item]));
    }
    sb.appendLine("<br />");
    sb.appendLine("<br />");
    $get("<%= Panel1.ClientID %>").innerHTML += sb.toString();
}
函数行数据绑定(发送方,参数){
//条件格式
如果(args.get_dataItem()[“titleOfcourcey”]=“Dr.”){
args.get_item().get_单元格(“titleOfcurtesy”).style.fontwweight=“bold”;
}
var sb=新的Sys.StringBuilder();
sb.appendLine(“RowDataBound
”); for(args.get_dataItem()中的变量项){ sb.appendLine(String.format(“{0}:{1}
”,item,args.get_dataItem()[item]); } sb.附录(“
”); sb.附录(“
”); $get(“”.innerHTML+=sb.toString(); }
RadGrid具有ItemDatabound事件

如果(e.Row.RowType==DataControlRowType.DataRow)
使用如果(e.Item的类型是Telerik.Web.UI.GridDataItem),那么

乍一看,RadGrid看起来并不适合您的需要。使用它有什么特别的原因吗?我试图回答我自己的问题是的,这些问题不属于这里:).我建议你重新考虑一下你的方法谢谢你的帮助。
<telerik:RadGrid ID="RadGrid1" runat="server">
    <ClientSettings>
        <ClientEvents OnRowDataBound="RowDataBound" />
    </ClientSettings>
</telerik:RadGrid>
function RowDataBound(sender, args) {
    // conditional formatting
    if (args.get_dataItem()["TitleOfCourtesy"] == "Dr.") {
        args.get_item().get_cell("TitleOfCourtesy").style.fontWeight = "bold";
    }
    var sb = new Sys.StringBuilder();
    sb.appendLine("<b>RowDataBound</b><br />");
    for (var item in args.get_dataItem()) {
        sb.appendLine(String.format("{0} : {1}<br />", item, args.get_dataItem()[item]));
    }
    sb.appendLine("<br />");
    sb.appendLine("<br />");
    $get("<%= Panel1.ClientID %>").innerHTML += sb.toString();
}