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");