none
Nome do DataSource do DataGridView RRS feed

  • 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.

    segunda-feira, 8 de novembro de 2010 20:34

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!
    domingo, 14 de novembro de 2010 23:27
    Moderador

Todas as Respostas

  • Explica melhor, pegar o nome?

     


    Just Be Humble Malange!
    segunda-feira, 8 de novembro de 2010 20:56
    Moderador
  • 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.

    segunda-feira, 8 de novembro de 2010 21:30
  • 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!
    domingo, 14 de novembro de 2010 23:27
    Moderador