ВОПРОС: Как я могу прикрепить уникальный идентификатор (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();
}