zoukankan      html  css  js  c++  java
  • 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 ID="pnlLevelDeterminationDetail" runat="server">
    <fieldset>
    <legend><strong><span id="LevelDetermination">等级判定</span></strong></legend>
    <table id="table2" border="0" cellpadding="3" cellspacing="3" width="100%">
    <tr valign="middle" style="height: 30px;">
    <td style="text-align: right; 300px;">
    <table width="100%">
    <tr>
    <td width="20px;">
    &nbsp;
    </td>
    <td width="200px;">
    &nbsp;
    </td>
    <td width="200px;" align="center">
    <asp:Button ID="btnLevelDeter" runat="server" Text="判定等级" CssClass="button5" onclick="btnLevelDeter_Click" />
    </td>
    </tr>
    </table>
    </td>
    </tr>
    <tr>
    <td>
    <tittle:CUSTOMDATAGRID id="grdLevelDeterminationResult" runat="server"
    DataKeyField="LevelID"
    AutoGenerateColumns="False" Sort="False" CellPadding="0" FreezeColumns="0" FreezeHeader="False" GridHeight="240px"
    FreezeRows="0" PageSize="10" AllowSorting="false" Width="770px" GridWidth="770px" onitemdatabound="grdLevelDeterminationResult_ItemDataBound">
    <PagerStyle HorizontalAlign="Center" Mode="NumericPages"></PagerStyle>
    <Columns>
    <asp:TemplateColumn>
    <HeaderStyle Wrap="False" HorizontalAlign="Center" Width="200px"></HeaderStyle>
    <ItemStyle Wrap="False" HorizontalAlign="Center"></ItemStyle>
    <HeaderTemplate>
    <%= fetchResource.Resources["maintenancemng_factoryservicedetail_grid_newnames"]%>
    </HeaderTemplate>
    <ItemTemplate>
    <input type="text" class="noemptyInput" style="95%; text-align:center;" disabled ="disabled" id ="reNewNames" runat="server" value='<%# Eval("NewNames")%>'/>
    </ItemTemplate>
    <FooterStyle Wrap="False"></FooterStyle>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <HeaderStyle Wrap="False" HorizontalAlign="Center" Width="200px"></HeaderStyle>
    <ItemStyle Wrap="False" HorizontalAlign="Center"></ItemStyle>
    <HeaderTemplate>
    <%= fetchResource.Resources["maintenancemng_factoryservicedetail_grid_newdecisionvalue"]%>
    </HeaderTemplate>
    <ItemTemplate>
    <input type="text" class="noemptyInput" style="95%; text-align:center;" id ="reNewDecisionValue" runat="server" value='<%# Eval("ParameterValue1")%>' onchange='checkDecisionValue(this);'/>
    <asp:DropDownList ID="ddlNewDecisionValue" runat="server" style="120px;" CssClass="drp">
    </asp:DropDownList>
    </ItemTemplate>
    <FooterStyle Wrap="False"></FooterStyle>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <HeaderStyle CssClass="hidden"></HeaderStyle>
    <ItemStyle CssClass="hidden" />
    <ItemTemplate>
    <input type="text" id ="reCheckType" runat="server" value='<%# Eval("CheckType")%>' />
    </ItemTemplate>
    <FooterStyle CssClass="hidden"></FooterStyle>
    </asp:TemplateColumn>
    </Columns>
    </tittle:CUSTOMDATAGRID>
    </td>
    </tr>
    <tr>
    <td>
    <!--分页-->
    <uc1:GridPage ID="gridLevelDeterminationPage" runat="server" />
    </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 id="HyperLink1" Target="_self" runat="server" NavigateUrl='<%#String.Format("servicesDetail.aspx?MasterID={0}&Status={1}",DataBinder.Eval
    (Container.DataItem,"ID"),DataBinder.Eval(Container.DataItem,"Status")) %>' Text="<%# Bind('ServicesNo') %>" >
    </asp:HyperLink>
    </ItemTemplate>
    <FooterStyle Wrap="False"></FooterStyle>
    </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");

  • 相关阅读:
    学习flying logic
    7-47 两数之和 (30 分)
    7-44 jmu-python-区间数之和 (10 分)
    7-45 jmu-python-涨工资 (10 分)
    7-42 jmu-python-找字符 (15 分)
    7-43 jmu-python-字符串异常处理 (20 分)
    7-40 jmu-python-统计成绩 (15 分)
    7-41 jmu-python-最佳身高 (10 分)
    7-35 jmu-python-求三角形面积及周长 (10 分)
    7-36 jmu-python-统计字符个数 (10 分)
  • 原文地址:https://www.cnblogs.com/allenhua/p/2956806.html
Copyright © 2011-2022 走看看