void GetDataBoundControlFieldValue (StringBuilder sb, char separator, IDataItemContainer dataItemContainer, IDataKeysControl dataKeysContainer)
{
if (dataItemContainer is IDataBoundItemControl)
return;
int index = dataItemContainer.DisplayIndex;
if (dataKeysContainer == null) {
if (index >= 0) {
sb.Append (separator);
sb.Append (index);
}
return;
}
string[] suffixes = dataKeysContainer.ClientIDRowSuffix;
DataKeyArray keys = dataKeysContainer.ClientIDRowSuffixDataKeys;
if (keys == null || suffixes == null || suffixes.Length == 0) {
sb.Append (separator);
sb.Append (index);
return;
}
object value;
DataKey key = keys [index];
foreach (string suffix in suffixes) {
sb.Append (separator);
value = key != null ? key [suffix] : null;
if (value == null)
continue;
sb.Append (value.ToString ());
}
}
#endif