public NpcDataView(NpcDataTable table, String rowFilter) { Columns = table.Columns; RowFilter = rowFilter; Rows = new NpcDataRows(); foreach (NpcDataRow oldRow in table.Rows) { if (((String)oldRow[1]).IndexOf(rowFilter) >= 0) { NpcDataRow newRow = new NpcDataRow(table); Rows.Add(newRow); for (int i = 0; i < Columns.Count; i++) { newRow[i] = oldRow[i]; } } } }
public NpcDataRow(NpcDataTable table) { Table = table; ItemArray = new Object[table.Columns.Count]; for (int i = 0; i < table.Columns.Count; i++) { NpcDataColumn colunm = Table.Columns[i]; switch (colunm.DataType.ToString()) { case "System.Boolean": case "System.Nullable`1[System.Boolean]": ItemArray[i] = new NpcBoolean(); break; case "System.Byte": case "System.Nullable`1[System.Byte]": ItemArray[i] = new NpcByte(); break; case "System.Byte[]": ItemArray[i] = new NpcBytes(); break; case "System.Char": case "System.Nullable`1[System.Char]": ItemArray[i] = new NpcChar(); break; case "System.DateTime": case "System.Nullable`1[System.DateTime]": ItemArray[i] = new NpcDateTime(); break; case "System.Decimal": case "System.Nullable`1[System.Decimal]": ItemArray[i] = new NpcDecimal(); break; case "System.Double": case "System.Nullable`1[System.Double]": ItemArray[i] = new NpcDouble(); break; case "System.Int32": case "System.Nullable`1[System.Int32]": ItemArray[i] = new NpcInt32(); break; case "System.Int64": case "System.Nullable`1[System.Int64]": ItemArray[i] = new NpcInt64(); break; case "System.Guid": case "System.Nullable`1[System.Guid]": ItemArray[i] = new NpcGuid(); break; case "System.Object": ItemArray[i] = new NpcObject(); break; case "System.Single": case "System.Nullable`1[System.Single]": ItemArray[i] = new NpcSingle(); break; case "System.String": ItemArray[i] = new NpcString(); break; default: ItemArray[i] = new NpcObject(); break; } } }