сетка просмотра отредактированных данных должна быть размещена в той же строке после публикации назад - PullRequest
0 голосов
/ 04 июля 2018

У меня есть gridiview с функцией редактирования. Когда пользователь нажимает кнопку «РЕДАКТИРОВАТЬ», данные строки сетки передаются в форму для редактирования. А затем пользователь должен нажать кнопку отправки, чтобы снова добавить данные в сетку.

Я хочу опубликовать данные в той же строке сетки после редактирования, но я не знаю, как это сделать, т.е. если данные третьей строки редактируются, то при нажатии кнопки добавления отредактированные данные должны быть переданы в третью строку .

<div class="form-group">
    <label>NAME</label><span class="required">*</span>
    <input type="text" class="form-control" maxlength="200" runat="server" id="txtName" autocomplete="off" />
</div>
<div class="form-group">
    <label>GENDER</label><span class="required">*</span>
    <select class="form-control" id="selectGender" runat="server" style="height: 34px;">
        <option value="0">M</option>
        <option value="1">F</option>
        <option value="2">U</option>
    </select>
</div>
<div class="form-group">
    <div class="col-md-4">
        <asp:Button ID="btnAddFamMem" runat="server" Text="ADD" />
    </div>
</div>

<asp:GridView ID="famGrid" 
    runat="server"
    AutoGenerateColumns="false"
    Width="100%"
    OnSelectedIndexChanged="famGrid_SelectedIndexChanged">
    <Columns>
        <asp:TemplateField HeaderText="S No." ItemStyle-Width="3%">
            <ItemTemplate>
                <%#Container.DataItemIndex+1 %>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField
            HeaderText="NAME" DataField="Name">
            <ItemStyle VerticalAlign="Top" />
        </asp:BoundField>
        <asp:BoundField
            HeaderText="GENDER" DataField="Gender">
            <ItemStyle VerticalAlign="Top" />
        </asp:BoundField>                                        
        <asp:CommandField ShowSelectButton="true" SelectText="EDIT" HeaderText="EDIT" ButtonType="Button" />
    </Columns>
</asp:GridView>

Код логики

protected void famGrid_SelectedIndexChanged(object sender, EventArgs e)
        {
            GridViewRow gvr = famGrid.SelectedRow;
            selectGender.Value = gvr.Cells[1].Text == "&nbsp;" ? null : gvr.Cells[1].Text;
            selectGender.SelectedIndex = 0;
        }

 protected void btnAddFamMem_Click(object sender, EventArgs e)
        {
               if (!string.IsNullOrEmpty(txtName.Value.Trim()))
                {
                    DataTable dt = (DataTable)ViewState["FamilyTable"];
                    DataRow dr = dt.NewRow();
                    dr["Name"] = txtName.Value.Trim();
                    dr["Gender"] = selectGender.Items[selectGender.SelectedIndex].Text;
                    dt.Rows.Add(dr);
                    BindFamilyGrid();
                }            
        }

Предположим, мои данные сетки:

NAME        GENDER
TSHERIG       M
TONGBA        F
PASNG         M 

Поэтому, когда я редактирую данные второй строки, я хочу снова сохранить отредактированные данные в той же строке. Теперь я добавляю отредактированные данные в конце. Как я могу это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...