Usuário com melhor resposta
Nome do DataSource do DataGridView

Pergunta
-
Boa tarde,
Seria possível pegar o nome do DataSource de um DataGridView em tempo de execução ?
No meu caso eu criei um objeto do tipo BindingSource e adicionei na propriedade DataSource.
Gostaria de pegar em tempo de execução o nome do objeto BindingSource.
Obrigado.
Respostas
-
Eu estava a testar o que voce escreveu. Eu nao vejo utilidade neste tipo de cenario, saber o nome da propiedade do seu Datasource.
O DataSource, recebe, um, DataSet ou DataTable. Quando se declara um Dataset tu podes Escrever o nome do DataSet.
DataSet Dt = New DataSet(Tabela_Producto);
Quando voce pegar o datasource, ele vai mostrar o nome do Dataset que alimenta a sua DataSource.
O mesmo aplicasse com o Datatable.
Para voce fazer isto tens de fazer assim:
private DataTable PegarDataSource()
{
String cnn = WindowsFormsApplication2010.Properties.Settings.Default.Connection.ToString();
SqlConnection conection = new SqlConnection(cnn);
SqlCommand cmd = new SqlCommand("Select * FROM Tablela", conection);
conection.Open();
SqlDataAdapter reader = new SqlDataAdapter(cmd);
DataTable dt = new DataTable("Malange");
dt.Locale = System.Globalization.CultureInfo.InvariantCulture;
reader.Fill(dt);
conection.Close();
return dt;
}
Para voce pegar o Datasource, no seu Botao coloca este codigo.
private void button6_Click(object sender, EventArgs e)
{
this.dataGridView2.DataSource = PegarDataSource();
DataTable dt = new DataTable(); Aqui criei um dataset para pegar o datasource que esta no Datagridview.
dt = (DataTable)this.dataGridView2.DataSource;
MessageBox.Show(dt.ToString());
A messagem vai ser "Malange", que e o nome do seu datatable e tambem datasource.
}
Just Be Humble Malange!- Marcado como Resposta Harley AraujoModerator quinta-feira, 18 de novembro de 2010 10:52
Todas as Respostas
-
-
Seguinte,
Quero pegar o nome do objeto que foi adicionado na propriedade DataSource do DataGridView.
Por exemplo se eu der um MessageBox.Show(DataDridView1.DataSource.ToString()) ele me retorna System.WindowsForms.BindingSource mas quando eu setei a propriedade DataSource no VS2010 me mostra unidadeDataSource que é o nome do objeto e é este nome que eu gostaria de pegar em tempo de execução.
Não sei se ficou claro.
Teria como ?
Obrigado.
-
Eu estava a testar o que voce escreveu. Eu nao vejo utilidade neste tipo de cenario, saber o nome da propiedade do seu Datasource.
O DataSource, recebe, um, DataSet ou DataTable. Quando se declara um Dataset tu podes Escrever o nome do DataSet.
DataSet Dt = New DataSet(Tabela_Producto);
Quando voce pegar o datasource, ele vai mostrar o nome do Dataset que alimenta a sua DataSource.
O mesmo aplicasse com o Datatable.
Para voce fazer isto tens de fazer assim:
private DataTable PegarDataSource()
{
String cnn = WindowsFormsApplication2010.Properties.Settings.Default.Connection.ToString();
SqlConnection conection = new SqlConnection(cnn);
SqlCommand cmd = new SqlCommand("Select * FROM Tablela", conection);
conection.Open();
SqlDataAdapter reader = new SqlDataAdapter(cmd);
DataTable dt = new DataTable("Malange");
dt.Locale = System.Globalization.CultureInfo.InvariantCulture;
reader.Fill(dt);
conection.Close();
return dt;
}
Para voce pegar o Datasource, no seu Botao coloca este codigo.
private void button6_Click(object sender, EventArgs e)
{
this.dataGridView2.DataSource = PegarDataSource();
DataTable dt = new DataTable(); Aqui criei um dataset para pegar o datasource que esta no Datagridview.
dt = (DataTable)this.dataGridView2.DataSource;
MessageBox.Show(dt.ToString());
A messagem vai ser "Malange", que e o nome do seu datatable e tambem datasource.
}
Just Be Humble Malange!- Marcado como Resposta Harley AraujoModerator quinta-feira, 18 de novembro de 2010 10:52