本文整理汇总了C#中System.Data.DataRow.GetParentRow方法的典型用法代码示例。如果您正苦于以下问题:C# DataRow.GetParentRow方法的具体用法?C# DataRow.GetParentRow怎么用?C# DataRow.GetParentRow使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.DataRow
的用法示例。
在下文中一共展示了DataRow.GetParentRow方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BaseBusinessProxy
public BaseBusinessProxy(DataRow row)
{
this.Name = row["Name"].ToString();
this.Version = "";
if (row.GetParentRow("Bla_Blh").Table.Columns.Contains("Version"))
{
this.Version = row.GetParentRow("Bla_Blh")["Version"].ToString();
}
this.DbName = "";
if (row.Table.Columns.Contains("DbName"))
{
this.DbName = row["DbName"].ToString();
}
this.TransactionMode = "false";
if (row.Table.Columns.Contains("TransactionMode"))
{
this.TransactionMode = row["TransactionMode"].ToString();
}
if (row.Table.Columns.Contains("Provider"))
{
this.Provider = row["Provider"].ToString();
}
try
{
this.BusinessAssemblyName = row.GetParentRow("Bla_Blh")["Name"].ToString();
}
catch { }
}
示例2: GetReferencedRow
public DataRow GetReferencedRow (DataRow row)
{
// Verify the column reference is valid
GetColumn (row);
switch (refTable) {
case ReferencedTable.Self:
default:
return row;
case ReferencedTable.Parent:
return row.GetParentRow (GetRelation (row));
case ReferencedTable.Child:
return row.GetChildRows (GetRelation (row)) [0];
}
}
示例3: AddChangedRow
private void AddChangedRow (Hashtable addedRows, DataTable copyTable, DataRow row)
{
if (addedRows.ContainsKey (row))
return;
foreach (DataRelation relation in row.Table.ParentRelations) {
DataRow parent = ( row.RowState != DataRowState.Deleted ?
row.GetParentRow (relation) :
row.GetParentRow (relation, DataRowVersion.Original)
);
if (parent == null)
continue;
// add the parent row
DataTable parentCopyTable = copyTable.DataSet.Tables [parent.Table.TableName];
AddChangedRow (addedRows, parentCopyTable, parent);
}
// add the current row
DataRow newRow = copyTable.NewNotInitializedRow ();
copyTable.Rows.AddInternal (newRow);
// Don't check for ReadOnly, when cloning data to new uninitialized row.
row.CopyValuesToRow (newRow, false);
newRow.XmlRowID = row.XmlRowID;
addedRows.Add (row, row);
}
示例4: GetNestedParent
private DataRow GetNestedParent(DataRow row)
{
DataRelation relation = GetNestedParentRelation(row);
if (relation != null)
return row.GetParentRow(relation);
return null;
}
示例5: AddChangedRow
private void AddChangedRow (Hashtable addedRows, DataTable copyTable, DataRow row)
{
if (addedRows.ContainsKey (row)) return;
foreach (DataRelation relation in row.Table.ParentRelations) {
DataRow parent = row.GetParentRow (relation);
if (parent == null)
continue;
// add the parent row
DataTable parentCopyTable = copyTable.DataSet.Tables [parent.Table.TableName];
AddChangedRow (addedRows, parentCopyTable, parent);
}
// add the current row
DataRow newRow = copyTable.NewNotInitializedRow();
copyTable.Rows.AddInternal(newRow);
row.CopyValuesToRow (newRow);
newRow.XmlRowID = row.XmlRowID;
addedRows.Add (row, row);
}
示例6: Eval
internal override object Eval(DataRow row, DataRowVersion version) {
if (column == null || relation == null)
throw ExprException.ExpressionUnbound(this.ToString());
DataRow parent = row.GetParentRow(relation, version);
if (parent == null)
return DBNull.Value;
return parent[column, parent.HasVersion(version) ? version : DataRowVersion.Current]; // [....] : Bug 76154
}
示例7: GetParentNodeFromDataRow
private CustomSiteMapNode GetParentNodeFromDataRow(DataRow childRow)
{
if (childRow == null)
throw new ProviderException("DataRow in SiteMap is null.");
DataRow parentRow = childRow.GetParentRow(GT.DA.SiteMap.SiteMap.PARENT_CHILD_REL);
if (parentRow == null)
throw new ProviderException(string.Format("Cannot find parent for SiteMap node with ID {0}",
childRow[GT.DA.SiteMap.SiteMap.ID_COL]));
return CreateNodeFromRow(parentRow);
}
示例8: CodeToText
public static string CodeToText(DataRow Row, string ColumnName, string TextCol, bool bIndirect)
{
string RetVal = "";
DataTable Table = Row.Table;
for (int I = 0; I < Table.ParentRelations.Count; I++)
{
DataRelation Rel = Table.ParentRelations[I];
if (Rel.ChildKeyConstraint.Columns.Length == 1 &&
Rel.ChildKeyConstraint.Columns[0].ColumnName.ToLower().CompareTo(ColumnName.ToLower()) == 0)
{
DataRow ParentRow = Row.GetParentRow(Rel);
try
{
RetVal = ParentRow[TextCol].ToString();
if (bIndirect)
return CodeToText(ParentRow, TextCol, "Text", false);
}
catch
{
}
break;
}
}
return RetVal;
}
示例9: GetReferencedRow
public DataRow GetReferencedRow (DataRow row)
{
switch (refTable) {
case ReferencedTable.Self:
default:
return row;
case ReferencedTable.Parent:
return row.GetParentRow (GetRelation (row));
case ReferencedTable.Child:
return row.GetChildRows (GetRelation (row)) [0];
}
}
示例10: GetAdress
/// <summary>
/// private Methode um die zugehörige Adresse, zu einer Zeile (Row) aus der lokalen Datenbank-Kunden-Tabelle, zu erhalten
/// </summary>
/// <param name="row"></param>
/// <returns></returns>
private Adresse GetAdress(DataRow row)
{
DataRow r = row.GetParentRow(_zuordnungKundenAdresse);
return new Adresse(r["Straße"].ToString(), r["Hausnummer"].ToString(), r["Ort"].ToString(), r["PLZ"].ToString());
}
示例11: GetColumnText
/// <summary>
/// Вернуть название объекта представленного в виде значения ключа
/// </summary>
/// <param name="dr">Строка описывающая сущность</param>
/// <param name="columnIndex">Индекс столбца в строке, значение в котором нужно вернуть в виде текста</param>
/// <returns>Текстовое представление столбца из заданной строки</returns>
private string GetColumnText(DataRow dr, int columnIndex)
{
DataTable table = dr.Table;
switch (table.TableName)
{
case "Movies":
if (table.Columns[columnIndex].ColumnName == "genre_id")
{
DataRow genre = dr.GetParentRow("MovieGenre");
return genre["name"].ToString();
}
break;
case "Sessions":
if (table.Columns[columnIndex].ColumnName == "movie_id")
{
DataRow movie = dr.GetParentRow("SessionMovie");
return movie["name"].ToString();
}
else if (table.Columns[columnIndex].ColumnName == "cinema_id")
{
DataRow cinema = dr.GetParentRow("SessionCinema");
return cinema["name"].ToString();
}
else if (table.Columns[columnIndex].ColumnName == "beginning")
{
DateTime begin = this.dataBase.GetDateFromSecond((int)dr["beginning"]);
return begin.ToLongDateString() + " " + begin.ToShortTimeString();
}
break;
case "Tickets":
if (table.Columns[columnIndex].ColumnName == "session_id")
{
DataRow session = dr.GetParentRow("TicketSession");
DataRow movie = session.GetParentRow("SessionMovie");
DataRow cinema = session.GetParentRow("SessionCinema");
DateTime time = this.dataBase.GetDateFromSecond((int)session["beginning"]);
string column = String.Format("{0} ({1}) [{2}]", movie["name"].ToString(), cinema["name"].ToString(), time.ToShortDateString() + " " + time.ToShortTimeString());
return column;
}
break;
default:
break;
}
return dr[columnIndex].ToString();
}
示例12: Eval
internal override object Eval(DataRow row, DataRowVersion version)
{
if ((this.column == null) || (this.relation == null))
{
throw ExprException.ExpressionUnbound(this.ToString());
}
DataRow parentRow = row.GetParentRow(this.relation, version);
if (parentRow == null)
{
return DBNull.Value;
}
return parentRow[this.column, parentRow.HasVersion(version) ? version : DataRowVersion.Current];
}
示例13: BindData
/// <summary>
/// 绑定字段单元格数值
/// </summary>
/// <param name="xeField">单元格数据节点</param>
/// <param name="dataRow">绑定行</param>
/// <returns>已经绑定返回true</returns>
private bool BindData(XmlElement xeField, DataRow dataRow)
{
if (null == xeField || null == dataRow)
return true;
string alias=xeField.GetAttribute("alias");
string field=xeField.GetAttribute("field");
string key = dataRow.Table.TableName;
PrintInfo pinfo = null;
if (this.printInfoList.ContainsKey(key))
pinfo = this.printInfoList[key];
if (null != pinfo && (alias == pinfo.AliasName || alias == key))
{
if (!dataRow.Table.Columns.Contains(field))
{ xeField.InnerText = ""; return true; }
object v = dataRow[field];
if (null == v || DBNull.Value == v)
xeField.InnerText = "";
if (true.Equals(v))
xeField.InnerText = "√";
else if (false.Equals(v))
xeField.InnerText = "×";
else
xeField.InnerText = Convert.ToString(v);
return true;
}
if (string.IsNullOrEmpty(alias) && dataRow.Table.Columns.Contains(field))
{
if (!dataRow.Table.Columns.Contains(field))
{ xeField.InnerText = ""; return true; }
object vf = dataRow[field];
if(null == vf || DBNull.Value == vf)
xeField.InnerText = "";
if (true.Equals(vf))
xeField.InnerText = "√";
else if (false.Equals(vf))
xeField.InnerText = "×";
else
xeField.InnerText = Convert.ToString(vf);
return true;
}
foreach (DataRelation r in dataRow.Table.ParentRelations)
if (this.BindData(xeField, dataRow.GetParentRow(r)))
return true;
return false;
}