Jeśli odczytuję(w programie w c#) jakieś wartości dla danego wiersza, dla kolumny o nazwie np.: "Data"(typ datetime) to wszytsko jest ok.
Gdy chcę odczytać wartość dla kolumny o nazwie np: [2/10/2014] nie udaje mi się tego zrobić. Po prostu w datagrid po wyświetleniu rekordów ta kolumna jest cała pusta, a pozostałe, o nazwach nie zawartych w nawiasach klamrowych, jest wypełniona odpowiednimi wartościami dla danego wiersza.
Jak można w takim razie odczytać wartość takiej kolumny?
![bloniak91](/uploads/photo/53d0a4dfd8487.png)
- Rejestracja:prawie 11 lat
- Ostatnio:ponad 6 lat
- Postów:93
![Sarrus](/uploads/photo/5315839971fd1.png)
![bloniak91](/uploads/photo/53d0a4dfd8487.png)
![Sarrus](/uploads/photo/5315839971fd1.png)
- Rejestracja:prawie 14 lat
- Ostatnio:10 dni
- Postów:2512
Pomieszałeś. Chcesz tylko zmienić label kolumny, a zapewne zmieniasz jednocześnie nazwę pola w źródle danych. Pokaż trochę kodu.
PS: Nie bawiłem się za bardzo datagrid więc nie pomogę z pamięci
EDIT
Zobacz czy pomogą Ci odpowiedzi na te pytania:
http://stackoverflow.com/questions/1036948/how-to-set-column-header-text-for-specific-column-in-datagridview-c-sharp
http://stackoverflow.com/questions/13579034/how-do-you-rename-datagrid-columns-when-autogeneratecolumns-true
![bloniak91](/uploads/photo/53d0a4dfd8487.png)
- Rejestracja:prawie 11 lat
- Ostatnio:ponad 6 lat
- Postów:93
Nic nie pomieszałem, nie chcę nic zmieniać, chcę po prostu cała tabelę odczytać i wyświetlić ją w datagrid.
Kod:
List<string> nm = new List<string>();
var dzienna = ConfigurationManager.ConnectionStrings["Dzienna"].ConnectionString;
SqlConnection dz = new SqlConnection(dzienna);
SqlCommand d = new SqlCommand();
d.Connection = dz;
dz.Open();
d.CommandText = "Select *FROM GODZINY";
var dre = d.ExecuteReader();
if (dre.HasRows)
{
while (dre.Read())
{
nm.Add(dre[0].ToString());
}
}
string kt = "";
var kl = 0;
foreach (var item in nm)
{
if (kl == 0) { kt = Convert.ToString(item); kl = 1; }
else { kt = kt + "," + Convert.ToString(item); }
}
// MessageBox.Show(kt);
DataTable dataTable = Msql.GetDataTable("select*from Godziny where id in(" + kt + ")");
SqlDataAdapter da = new SqlDataAdapter();
bazunia.ItemsSource = dataTable.DefaultView;
I teraz jeśli mam kolumnę o nazwie: "Data" elegeancko w dataghrid do każdego wiersza wyśietla mi wartośc. Natomiast mam kolumnę "[2/10/2014]" i już tutaj nie pobiera wartości(chociaż jest ona zapisana) i wyświetla puste pole w datagrid.
![Marcin.Miga](/uploads/photo/pgJEiHKr04WcVuLc5GwV4TjbaFiRq4Vyrc5J5aOd.jpg)
- Rejestracja:ponad 16 lat
- Ostatnio:2 dni
- Postów:2791
Nie masz kolumny [2/10/2014], tylko 2/10/2014 (prawdopodobnie). Ale ujętą w tzw QUOTENAME. I tak próbuj.
A potem zastrzel tego, co tak nazwał kolumnę.
![abrakadaber](/uploads/photo/51aa690f615d6.jpeg)
- Rejestracja:ponad 12 lat
- Ostatnio:6 miesięcy
- Postów:6610
jak można nazwać kolumnę [2/10/2014]
???? Toż to trzeba być chorym umysłowo człowiekiem. A dlaczego tak się nie robi to Twoje pytanie jest odpowiedzią.
Podaj DDL tej tabeli.
BTW jedyne wyjście jakie widzę to zamiast SELECT * FROM
wyszczególnić wszystkie kolumny ze zmianą nazwy tej "cudownej" na jakąś normalną