asp.net customdatagrid 或gridview绑定数据的时候经常要用到的 ItemDataBound 事件的方法

前台aspx页面:

JS获取索引号:

//判定值为大于0的整数

function checkDecisionValue(btn) {

if (btn.parentElement != undefined && btn.parentElement.parentElement != undefined) {

var gridRowIdx = btn.parentElement.parentElement.rowIndex - 1; //获取索引值 这里需要打断点,设置debugger调试才知道索引号

var gridIdx = btn.parentElement.parentElement.rowIndex;

var reDecisionValue = document.getElementById("grdLevelDeterminationResult_reNewDecisionValue_" + gridRowIdx);

if (!IsUnitFormat(reDecisionValue.value) || reDecisionValue.value < 0) {

alert(Resource("BeginWith") + gridIdx + Resource("Row") + Resource("factoryservicedetail_correct_newdecisionvalue"));

reDecisionValue.focus();

reDecisionValue.value = "";

return false;

}

}

}

<asp:Panel runat="server">

<fieldset>

<legend><strong><span />

</td>

</tr>

</table>

</fieldset>

</asp:Panel>

#region grdLevelDeterminationResult_ItemDataBound

//根据判定参数中的

//check类型 判断

//1.如果check类型 为等于check,则等级判定中的判定值为

//等级判定参数的 参数1

//2.如果check类型 为区间check,则等级判定中的判定值为

//等级判定参数的 参数1 如果存在多个,判定值为参数1。

protected void grdLevelDeterminationResult_ItemDataBound(object sender, DataGridItemEventArgs e)

{

e.Item.Cells[4].Visible = true;//列标题设为可见

e.Item.Cells[5].Visible = false;列标题设为不可见

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) //重要必须添加,如果隐藏列标题的话,不需要添加这个

{

string status = Convert.ToString(DataBinder.Eval(e.Item.DataItem, "Status"));

string checktype = (e.Item.Cells[2].FindControl("reCheckType") as HtmlInputText).Value;

HtmlInputText reNewDecisionValue = (HtmlInputText)(e.Item.Cells[1].FindControl("reNewDecisionValue"));

DropDownList ddlNewDecisionValue = (DropDownList)(e.Item.Cells[1].FindControl("ddlNewDecisionValue"));

string reNewNames = (e.Item.Cells[0].FindControl("reNewNames") as HtmlInputText).Value;

// 取得等级判定信息

DataTable dt = logic.getLevelDeterInfoList(MasterID, reNewNames);

if (checktype == Constants.C_LevelDeterminationParameter_Interval_CheckValue)//check类型为区间check

{

reNewDecisionValue.Visible = true;

ddlNewDecisionValue.Visible = false;

}

if (checktype == Constants.C_LevelDeterminationParameter_Equal_CheckValue)//check类型为等于check

{

reNewDecisionValue.Visible = false;

ddlNewDecisionValue.Visible = true;

if (dt != null && dt.Rows.Count > 0)

{

for (int i = 0; i < dt.Rows.Count; i++)

{

DataRow dr = dt.Rows[i];

ListItem listitem = new ListItem();

listitem.Value = dr["ParameterValue1"].ToString();

ddlNewDecisionValue.Items.Add(listitem);

}

}

}

}

}

#endregion

//传多个参数

<asp:TemplateColumn HeaderText="服务单编号">

<HeaderStyle Wrap="False" HorizontalAlign="Center" Width="115px"></HeaderStyle>

<ItemStyle Wrap="False" HorizontalAlign="Center"></ItemStyle>

<HeaderTemplate>

<%= fetchResource.Resources["services_noAuditServicesList_grid_ServicesNo"]%>

</HeaderTemplate>

<ItemTemplate>

<asp:HyperLink > </asp:TemplateColumn>

HtmlInputCheckBox htmlControl;

if (e.Item.ItemType == ListItemType.Header)

{

htmlControl = (HtmlInputCheckBox)e.Item.Cells[0].FindControl("chkall");

}

cbSelected.Disabled = true;//不可见

cbSelected.Attributes.Add("isCanSelect", "false");