Это не ответ на вопрос. Это только ответ, если вы никогда не измените текст заголовка в виде сетки. Автор вопроса хотел получить имя поля базы данных по индексу.
Я видел несколько «ответов», которые предоставляют только текст в выбранной строке вида сетки или текст заголовка, которые оба не отвечают на заданный вопрос ...
Вы можете спросить, почему? Если вы собираетесь проводить аудит обновлений в системе и хотите сравнить старые значения и новые значения и обновлять их только в том случае, если они изменяются, и хотите указать, какое поле было обновлено, как вы показываете имя поля таблицы базы данных по индексу цикла.
Например:
Protected Sub gv_RowUpdating(sender As Object, e As System.Web.UI.WebControls.GridViewUpdateEventArgs)
Dim intValCount As Integer = Integer.Parse(e.NewValues.Count)
If intValCount > 0 Then
Dim i As Integer = 0
For i = 0 To intValCount - 1
If Not e.OldValues(i).Equals(e.NewValues(i)) Then
' values have changed, audit the change
Sys.Audits.General(intID, "the_database_table", <the table field by index(i)>, e.OldValues(i).ToString, e.NewValues(i).ToString)
End If
i += 1
Next
End If
End Sub
Итак, вопрос в том, как получить имя поля таблицы базы данных по индексу через код позади? Я тоже искал это, и все «ответы», которые я видел, не являются ответами, я думаю, что некоторые из нас действительно ищут. Все упомянутые выше методы не являются пуленепробиваемыми ссылками на имя поля таблиц базы данных.