PDA

View Full Version : مشکل در نمایش یک ستون خاص از جدول



M.K_Soft
پنج شنبه 09 آذر 1391, 12:35 عصر
سلام دوستان.
من فرمی دارم با چند datagridview و می خوام توی هر کدوم یک ستون از جدولم نمایش داده بشه.
برای این کار هم می تونم از dataset استفاده کنم و هم از datatable که dataadapter رو پر کنم.
مشکل اینجاست که وقتی می نویسم

datagridview.datasource = datatable.column[column name]

یا همین کار رو با dataset انجام میدم، هیچی نشون نمیده اما وقتی datatable رو کلی نشون میدم تموم جدولم رو نشون میده.

مشکل از کجاست؟
اگر راه دیگری هم برای این کار هست ممنون می شم راهنمایی کنید.

rezarko
پنج شنبه 09 آذر 1391, 12:59 عصر
از این کد استفاده کن ببین میشه:
datatable.Rows[0]["column name"].ToString();

farazjalili
پنج شنبه 09 آذر 1391, 13:08 عصر
سلام کد زیر رو امتحان کنید :
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter();
da.Fill(ds, "table");
dataGridView1.DataSource= ds.Tables["table"].Columns["name_columns"];

M.K_Soft
پنج شنبه 09 آذر 1391, 13:25 عصر
سلام.
ممنون از پاسخ هاتون اما هردو روش رو قبلا امتحان کردم و جواب نداد.
وقتی که از dataset و یا datatable استفاده میکنم و تمام جدول رو نمایش میدهم، مشکلی نیست و کل جدول در datagridview نمایش داده می شه.
اما وقتی محدودش می کنم و میگم datatable.column[] دیتاگرید خالیه و هیچی نشون نمیده!

plus
پنج شنبه 09 آذر 1391, 15:34 عصر
شما میتونی مشخصه AutoGenerateColumns رو برابر False کنی تا Grid خودش اتوماتیک ستون اضافه نکنه. و بع ددستی خودت ستون اضافه کنی:



DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter();
da.Fill(ds, "table");
dataGridView1.AutoGenerateColumns = false;
DataGridViewTextBoxColumn column = new DataGridViewTextBoxColumn();
column.DataPropertyName = "ColumnName";
dataGridView1.Columns.Add(column);
dataGridView1.DataSource= ds.Tables["table"].Columns["name_columns"];

دقت کن که نام ستونی که از دیتا بیس میاد و میخوای نمایش بدی رو باید جای "ColumnName" بگذاری.
البته میتونی این ستون رو بجای اینکه از طریق کد ایجاد کنی، از توی Designer مربوط به Grid اضافش کنی..

M.K_Soft
پنج شنبه 09 آذر 1391, 16:14 عصر
شما میتونی مشخصه AutoGenerateColumns رو برابر False کنی تا Grid خودش اتوماتیک ستون اضافه نکنه. و بع ددستی خودت ستون اضافه کنی:



DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter();
da.Fill(ds, "table");
dataGridView1.AutoGenerateColumns = false;
DataGridViewTextBoxColumn column = new DataGridViewTextBoxColumn();
column.DataPropertyName = "ColumnName";
dataGridView1.Columns.Add(column);
dataGridView1.DataSource= ds.Tables["table"].Columns["name_columns"];

دقت کن که نام ستونی که از دیتا بیس میاد و میخوای نمایش بدی رو باید جای "ColumnName" بگذاری.
البته میتونی این ستون رو بجای اینکه از طریق کد ایجاد کنی، از توی Designer مربوط به Grid اضافش کنی..

ممنون دوست عزیز.
با این روش مشکل حل شد.