Så här körde jag innan: För att få uta namnet på en kolumn i en DataReader så skriver du: Jo det är ju en bra start, men jag får error: kolumnIndex finns inte, det va bara en text som jag la dit för att förklara att du ska skicka in en int för vilken kolumn du ska få ut. Det ser nog ut som om det är på rätt väg.Problem i DataGrid
<code>
int numCols = ds1.Tables["frånPlaceringar"].Columns.Count;
int numRows = ds1.Tables["frånPlaceringar"].Rows.Count;
for(int i = 0; i < numCols; ++i)
{
aColumnTextColumn = new DataGridColoredTextBoxColumn();
aColumnTextColumn.HeaderText = ds1.Tables["frånPlaceringar"].Columns[i].ColumnName;
aColumnTextColumn.MappingName = ds1.Tables["frånPlaceringar"].Columns[i].ColumnName;
tableStyle.GridColumnStyles.Add(aColumnTextColumn);
}
dataGrid1.DataSource = ds1.Tables["frånPlaceringar"];
</code>
Men hur skall jag applicera det när jag kör en reader??
<code>
SqlCommand selectCommand = new SqlCommand("spFyllDataGrid '" +kolumn+ "'", con);
con.Open();
SqlDataReader reader = selectCommand.ExecuteReader();
DataGridTableStyle tableStyle = new DataGridTableStyle();
tableStyle.MappingName = "spFyllDataGrid";
DataGridColoredTextBoxColumn aColumnTextColumn ;
while (reader.Read())
osv...
</code>
Vore väldigt tacksam för hjälp här...Sv: Problem i DataGrid
reader.GetName[kolumnIndex];
Hoppas detta hjälper dig lite på vägen.
/Fredrik NSv: Problem i DataGrid
<code>
[kolumnIndex]
ERROR:
E:\C#\SawData\Saw\frmSAW.cs(414): The name 'kolumnIndex' does not exist in the class or namespace 'Saw.frmSAW'
</code>
Var hämtar jag kolumnIndex ifrån?Sv: Problem i DataGrid
Här har du ett exempel som loopar genom alla din kolumner i en reader:
<code>
string fieldName = null;
int count = reader.FieldCount;
for( int i = 0; i < count; i++ )
{
fieldName = reader.GetName[i].ToString();
....
}
</code>
Så ett exempel på hur din kod skulle ev kunna se ut:
<code>
int count = reader.FieldCount;
for( int i = 0; i < count; i++ )
{
aColumnTextColumn = new DataGridColoredTextBoxColumn();
aColumnTextColumn.HeaderText = reader.GetName[i];
aColumnTextColumn.MappingName = reader.GetName[i];
tableStyle.GridColumnStyles.Add(aColumnTextColumn);
}
</code>
/Fredrik NSv: Problem i DataGrid
Problem som kvarstår:
dataGrid1.DataSource = ds1.Tables["frånPlaceringar"];
Det går ju inte att göra så här enkelt:
dataGrid1.DataSource = reader.Read();
Frågan är, om jag iallafall inte skulle behålla mitt DS.
Normalt så laddar jag ju den så här:
<code>
da1 = new SqlDataAdapter(SQL, con);
ds1 = new DataSet("frånPlaceringar");
</code>
Men om jag vill utnytja min SP hur gör jag här då??
<code>
SqlCommand selectCommand = new SqlCommand("spFyllDataGrid '" +kolumn+ "'", con);
con.Open();
SqlDataReader reader = selectCommand.ExecuteReader();
</code>
Eller går det så här?
<code>
da1 = new SqlDataAdapter("spFyllDataGrid '" +kolumn+ "'", con);
ds1 = new DataSet("frånPlaceringar");
</code>
Är det rätt?
[REDIGERAT]
Japp dett ordnade sig.