Asp.net RadGrid OnRowDataBound等效物
我正在动态创建gridview并使用gridview,以下代码正在运行: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++) {
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();
}