Прикрепить идентификатор строки к GridView - PullRequest
0 голосов
/ 12 февраля 2019

ВОПРОС: Как я могу прикрепить уникальный идентификатор (GUID) к этим строкам?GUID предоставляется запросом SQL?

У меня есть GridView, заполненный хранимой процедурой SQL, которая запрашивает 4 таблицы и флажок в каждой строке (из шаблона элемента).Все ресурсы, которые я нашел, показывают, как связать данные с табличным представлением, но я также не вижу способа прикрепить идентификатор к строке с данными.

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

PS Это для реализации пользовательского интерфейса, в котором пользователь может выбирать данные для запроса от стороннего API, поэтому я не хочу отображать GUID.

ASP.NET

<asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" AutoGenerateColumns="False">
    <AlternatingRowStyle BackColor="White"/>
    <Columns>
        <asp:TemplateField>
            <EditItemTemplate>
                <asp:CheckBox ID="CheckBox1" runat="server"/>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:CheckBox ID="cbSurvey" runat="server" OnCheckedChanged="cbSurvey_CheckedChanged"/>
            </ItemTemplate>
        </asp:TemplateField>  
        <%--1 column here--%>                
        <asp:BoundField DataField="Client" HeaderText="Client" ReadOnly="True"/>
        <%--2 columns here--%>                  
        <asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" Visible="False"/>
    </Columns>
    <%--styling stuff--%>
</asp:GridView>

C #

private void DataBind(GridView grid, List<Data> rows)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[5]
{
    //...
    new DataColumn("Client", typeof(string)),
    //...
    new DataColumn("ID", typeof(string))
});

foreach (Data row in rows)
{
    //
    //sql queries
    //get list of string ids
    //

    foreach (string survey in surveys)
    {
        DataRow dr = dt.NewRow();   
        //...       
        dr["Client"] = row.ClientName;          
        //... 
        dr["ID"] = survey;
        //...
        dt.Rows.Add(dr);
    }
}

grid.DataSource = dt;
grid.DataBind();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...