Программно добавить ключ данных в существующий набор ключей данных

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

Как программно добавить ключ данных к существующему набору ключей данных в GridView?

2 ответа

Решение

Самый простой способ сделать это - преобразовать массив String DataKeyNames в ArrayList, добавить новый DataKeyName, затем преобразовать этот ArrayList обратно в массив String(), а затем установить свойство Gridview DataKeyNames, используя это. Вот пример:

Dim arr As New ArrayList()
Dim keys As String() = GridView1.DataKeyNames

//Convert to an ArrayList and add the new key.
arr.AddRange(keys)
arr.Add("New Key")

//Convert back to a string array and set the property.
Dim newkeys As String() = CType(arr.ToArray(Type.GetType("System.String")), String())
GridView1.DataKeyNames = newkeys

Попробуй это

 //get length of existing keys
 int keyLength = MyGrid.DataKeyNames.Length;

 //create newkeys array with an extra space to take the new key
 string[] newkeys = new string[keyLength+1];

 //copy the old keys to the newkeys array
 for (int i = 0; i < keyLength; i++)
    newkeys[i] = MyGrid.DataKeyNames[i];

 //add the new key in the last location
 newkeys[keyLength] = "MyNewKey";

 //update your datakeys
 MyGrid.DataKeyNames = newkeys;
Другие вопросы по тегам