简体   繁体   English

GridView设置ComboBox值客户端

[英]GridView Set ComboBox value Client side

I have a GridView with the following columns. 我有一个带有以下各列的GridView。

  1. Parent ID - Bound Column 父级ID-绑定列
  2. Child ID - Bound Column 子ID-绑定列
  3. Desc - Bound Column Desc-绑定列
  4. Status as ComboBox with Values of YES, NO 状态为ComboBox,值为YES,NO

Parent ID has Child IDs. 家长ID有孩子ID。 If i Select Parent ID combobox as YES then all child values should be populated as YES. 如果我选择“父母ID”组合框为“是”,则所有子值应填充为“是”。

I want to do it on Client side using Java Script. 我想使用Java脚本在客户端进行操作。 Can you please guide me. 你能指导我吗?

              <asp:datagrid id="dgImpact" runat="server" Width="78%" CellSpacing="0" AlternatingItemStyle-Height="20px"
                            AutoGenerateColumns="False" BorderColor="#3A6EA5" ItemStyle-ForeColor="blue" 
        CellPadding="0" BorderWidth="0px">
                            <AlternatingItemStyle Height="20px" BackColor="#EEF5FB"></AlternatingItemStyle>
                            <ItemStyle Height="20px" ForeColor="DarkBlue" BackColor="#DCEDF9"></ItemStyle>
                            <HeaderStyle Font-Names="Estrangelo Edessa" Font-Bold="True" Wrap="False" ForeColor="White" BorderColor="#336491"
                                BackColor="#336491"></HeaderStyle>
                            <Columns>
                                <asp:ButtonColumn>
                                    <ItemStyle Width="20px"></ItemStyle>
                                </asp:ButtonColumn>
                                <asp:ButtonColumn>
                                    <ItemStyle Width="20px"></ItemStyle>
                                </asp:ButtonColumn>
                                <asp:ButtonColumn>
                                    <ItemStyle Width="20px"></ItemStyle>
                                </asp:ButtonColumn>
                                <asp:BoundColumn Visible="False" DataField="QuestionID" ReadOnly="True">
                                    <HeaderStyle HorizontalAlign="Left"></HeaderStyle>
                                    <ItemStyle Wrap="False" HorizontalAlign="Left"></ItemStyle>
                                </asp:BoundColumn>
                                <asp:TemplateColumn HeaderText="Questions">
                                    <HeaderStyle HorizontalAlign="Left"></HeaderStyle>
                                    <ItemStyle Width="320px"></ItemStyle>
                                    <ItemTemplate>
                                        <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.QuestionDesc") %>' ID="Label1">
                                        </asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateColumn>
                                <asp:TemplateColumn HeaderText="Status">
                                    <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                    <ItemStyle Wrap="False" HorizontalAlign="Center"></ItemStyle>
                                    <ItemTemplate>
                                        <asp:dropdownlist CssClass="ComboStyle" Visible="True" Runat="server" ID="cmbAnswers" Width="72px" SelectedValue='<%# Bind("Status") %>'
                                        DataSource='<%# (new string[] { "--Select--","Yes", "No", "NA","Unknown" }) %>'></asp:dropdownlist>
                                    </ItemTemplate>
                                </asp:TemplateColumn>
                            </Columns>
                        </asp:datagrid>

.CS .CS

           protected void Page_Load(object sender, EventArgs e)
    {
        DataSet dstQuesData = getRiskDisciplineQuestionAnswer();
        dgImpact.DataSource = dstQuesData;
        dgImpact.DataBind();

        DataTable dtFinalTable = dstQuesData.Tables[0];

        for (int intRowCount = 0; intRowCount <= dgImpact.Items.Count - 1; intRowCount++)
        {
                long a = Convert.ToInt64(dtFinalTable.Rows[intRowCount][9]);
            ///    'If the Question Display is root
            if (a.ToString().Length == 3)
            {
                ((DataGridItem)dgImpact.Items[intRowCount]).Cells[4].ColumnSpan = 4;
                dgImpact.Items[intRowCount].Cells[0].Visible = false;
                dgImpact.Items[intRowCount].Cells[1].Visible = false;
                dgImpact.Items[intRowCount].Cells[2].Visible = false;

                //If the Question Displayed is at Level 1

            }
            else if (a.ToString().Length == 6 )
            {
                ((DataGridItem)dgImpact.Items[intRowCount]).Cells[4].ColumnSpan = 3;
                dgImpact.Items[intRowCount].Cells[0].Visible = true ;
                dgImpact.Items[intRowCount].Cells[1].Visible = false;
                dgImpact.Items[intRowCount].Cells[2].Visible = false;

                //If the Question Displayed is at Level 2

            }
            else if (a.ToString().Length == 9)
            {
                ((DataGridItem)dgImpact.Items[intRowCount]).Cells[4].ColumnSpan = 2;
                dgImpact.Items[intRowCount].Cells[0].Visible = true;
                dgImpact.Items[intRowCount].Cells[1].Visible = true;
                dgImpact.Items[intRowCount].Cells[2].Visible = false;

            }

            else if (a.ToString().Length == 12)
            {
                ((DataGridItem)dgImpact.Items[intRowCount]).Cells[4].ColumnSpan = 1;
                dgImpact.Items[intRowCount].Cells[0].Visible = true;
                dgImpact.Items[intRowCount].Cells[1].Visible = true;
                dgImpact.Items[intRowCount].Cells[2].Visible = true;

            }
        }
    }

    public DataSet getRiskDisciplineQuestionAnswer()
    {
        DataSet riskQuestionAnswerData = new DataSet();
        sqlConnection = new SqlConnection(connStr);
        sqlCommand = new SqlCommand("usp_testRDD1", sqlConnection);
        sqlCommand.CommandType = CommandType.StoredProcedure;
        sqlDataAdapter = new SqlDataAdapter(sqlCommand);
        try
        {
            sqlDataAdapter.Fill(riskQuestionAnswerData);
        }
        catch
        {
            throw;
        }
        return riskQuestionAnswerData;
    }

Couldn't find a proper solution for you problem. 找不到适合您的问题的解决方案。

Please take a look at this Link . 请看看这个链接 i hope this will help. 我希望这将有所帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM