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?
Jak odczytać wartość z kolumny o nazwie zawartej w []?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 93
- Rejestracja: dni
- Ostatnio: 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
- Rejestracja: dni
- Ostatnio: dni
- 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.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2794
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ę.
- Rejestracja: dni
- Ostatnio: dni
- 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ą
- Rejestracja: dni
- Ostatnio: dni
- Postów: 93
Zmiana nazwy kolumny pomogła rozwiązać problem.