Member 9990586 Ответов: 0

Как мы можем передать выбранную строку из одной таблицы в другую GridView в ASP.NET на C#.


У меня есть одна страница с двумя GridView в управления gridview1 &амп; gridview2. Я хочу перенести выбранную строку из gridview1 в gridview2 на кнопку Добавить. gridview1-это привязка из базы данных, в которой один из столбцов извлекает изображение из базы данных. Я хочу добавить выбранные строки из gridview1 в другой gridview2 на кнопке Добавить с изображением также.

Что я уже пробовал:

Aspx-файл
<asp:GridView ID="grdQuestion" class="table table-striped table-bordered zero-configuration"  runat="server" AutoGenerateColumns="False" OnRowDataBound="grdQuestion_RowDataBound" AllowPaging="True" OnPageIndexChanging="grdQuestion_PageIndexChanging">
 <Columns>
    <asp:TemplateField HeaderText="Select">
        <HeaderTemplate>
                  <asp:CheckBox ID="chkSelectAll" Text="" runat="server" ForeColor="#CC0000" BorderColor="#0000CC" BorderStyle="Solid" onclick="javascript:SelectAllCheckboxes(this);" OnCheckedChanged="chkSelectAll_CheckedChanged" />
     </HeaderTemplate>
   <ItemTemplate>
     <asp:CheckBox ID="chkSelectAdd" runat="server" ForeColor="#CC0000" BorderColor="#0000CC" BorderStyle="Solid" OnCheckedChanged="chkSelectAdd_CheckedChanged"/>
     </ItemTemplate>
   </asp:TemplateField>
        <asp:BoundField HeaderText="Question ID" DataField="QuestionCode" />
                                            <asp:BoundField DataField="Data" HeaderText="Question" Visible="False" />
<asp:TemplateField HeaderText="Question's">
 <ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%#"data:Image/png;base64,"+ Convert.ToBase64String((byte[])Eval("Data")) %>' />
    </ItemTemplate>
    </asp:TemplateField>
 <asp:BoundField HeaderText="Answer" DataField="Answer" />
    </Columns>
 </asp:GridView>


aspx-файл.в CS
private void BindGrid()
    {
        try
        { 
        con.Open();
        SqlCommand cmd = new SqlCommand("select QuestionCode,Data,Answer,Data1 from tbl_QuestionMaster where TopicCode="+lblTopicCode.Text+"", con);
        DataSet ds = new DataSet();
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(ds);
        grdQuestion.DataSource = ds;
        grdQuestion.DataBind();
       
        }
        catch (Exception ex)
        {

        }
        finally
        {
            con.Close();
        }
        
    }

Richard Deeming

new SqlCommand("select QuestionCode,Data,Answer,Data1 from tbl_QuestionMaster where TopicCode="+lblTopicCode.Text+"", con)

Не делай этого так! Ваш код потенциально уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
SqlCommand cmd = new SqlCommand("select QuestionCode,Data,Answer,Data1 from tbl_QuestionMaster where TopicCode = @TopicCode", con);
cmd.Parameters.AddWithValue("@TopicCode", lblTopicCode.Text);

0 Ответов