Usuário com melhor resposta
Dataset tipado

Pergunta
-
Por favor, como faço para consumir um webservice com dataset tipo.
É que gostaria de fazer a vinculação de dados no form. (estou usando winforms)
o webservice já está com o dataset tipado. gostaria de passar para o form e vincular ao
datagridview e aos texts.
Grato pela atenção
Respostas
-
Entao o proble eh outro Edson... pq fiz os procedimentos aqui para ter certeza que nao me escapou nenhum detalhe e funcionaram corretamente na minha maquina...
WebService:
Code Snippetusing
System;using
System.Collections.Generic;using
System.Linq;using
System.Web;using
System.Web.Services;namespace
WebService1 { /// /// Summary description for Service1 ///[
WebService(Namespace = "http://tempuri.org/")][
WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)][System.ComponentModel.
ToolboxItem(false)] // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. // [System.Web.Script.Services.ScriptService] public class Service1 : System.Web.Services.WebService {[
WebMethod] public string HelloWorld() { return "Hello World";}
[
WebMethod] public DataSet1.UnidadeMedidaDataTable GetUnidadeBySigla(string sigla) { using (var adapter = new DataSet1TableAdapters.UnidadeMedidaTableAdapter()) { return adapter.GetDataBySigla(sigla);}
}
}
}
Form 1
Code Snippetusing
System;using
System.Collections.Generic;using
System.ComponentModel;using
System.Data;using
System.Drawing;using
System.Linq;using
System.Text;using
System.Windows.Forms;namespace
Gerenciador { public partial class Form1 : Form { public Form1() {InitializeComponent();
}
private void Form1_Shown(object sender, EventArgs e) { using (var service = new localhost.Service1()) {unidadeMedidaBindingSource.DataSource = service.GetUnidadeBySigla(
"LT");}
}
}
}
Todas as Respostas
-
Oi Edson... se entendi bem... vc quer trabalhar com webservice da mesma forma q faria com um sistema cliente servidor...
Bem a unica forma de se trabalhar com WS é desconectado... isso eh... vc requisita os dados do service, manipula no cliente e envia para o service... em processos separados... Não tem como trabalhar como se tivesse conectado diretamente ao banco de dados...
Era essa a sua duvida ?
-
não é bem isto. é que eu quero trabalhar com o dataset tipado, aproveitando o databind. o webservice já retorna um datatable através de um dataset tipado. se eu faço a ligação com um datagridview dá tudo certo, porém não sei como fazer as ligações com os textbox. ex: meugridview.datasource = meuwebservice.mostrarclientes. até aí tudo ok. o que eu quero fazer é, no form fazer a conexão tipo o gridview. mas não manualmente e sim através do dataset
-
-
-
Um... tenta fazer o seguinte:
Adiciona a referencia do teu service ao projeto...
Abre um form em branco e deixa no modo de desing
Vai aparece um menu Data no Visual Studio
Clica nele e escolhe a opcao, Show Data Sources
Vai aparece uma janela com o seu service, nele vai ter seu dataset e la dentro a sua tabela
Clica no dropdown ao lado da tabela
seleciona Details
Arrasta a tabela para o formulario
Se tudo der certo, ele ja vai criar todos os componentes para vc e criar todas as conexoes automaticamente....
T+
-
-
-
sim tenho. o webservice está funcionando legal. mas tenho que fazer tudo manualmente.
quando conecto a um datagridview ele funciona certino. o problema é que não estou conseguindo fazer uma
conexao com os textbox. tenho que ficar fazendo uma a um.
-
Entao o proble eh outro Edson... pq fiz os procedimentos aqui para ter certeza que nao me escapou nenhum detalhe e funcionaram corretamente na minha maquina...
WebService:
Code Snippetusing
System;using
System.Collections.Generic;using
System.Linq;using
System.Web;using
System.Web.Services;namespace
WebService1 { /// /// Summary description for Service1 ///[
WebService(Namespace = "http://tempuri.org/")][
WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)][System.ComponentModel.
ToolboxItem(false)] // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. // [System.Web.Script.Services.ScriptService] public class Service1 : System.Web.Services.WebService {[
WebMethod] public string HelloWorld() { return "Hello World";}
[
WebMethod] public DataSet1.UnidadeMedidaDataTable GetUnidadeBySigla(string sigla) { using (var adapter = new DataSet1TableAdapters.UnidadeMedidaTableAdapter()) { return adapter.GetDataBySigla(sigla);}
}
}
}
Form 1
Code Snippetusing
System;using
System.Collections.Generic;using
System.ComponentModel;using
System.Data;using
System.Drawing;using
System.Linq;using
System.Text;using
System.Windows.Forms;namespace
Gerenciador { public partial class Form1 : Form { public Form1() {InitializeComponent();
}
private void Form1_Shown(object sender, EventArgs e) { using (var service = new localhost.Service1()) {unidadeMedidaBindingSource.DataSource = service.GetUnidadeBySigla(
"LT");}
}
}
}
-
#region
Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.components = new System.ComponentModel.Container();[...]
this.dataSet1 = new Gerenciador.localhost.DataSet1(); this.unidadeMedidaBindingSource = new System.Windows.Forms.BindingSource(this.components); this.unidadeMedidaBindingNavigator = new System.Windows.Forms.BindingNavigator(this.components); this.iDTextBox = new System.Windows.Forms.TextBox(); this.siglaTextBox = new System.Windows.Forms.TextBox(); this.descricaoTextBox = new System.Windows.Forms.TextBox(); this.ativaCheckBox = new System.Windows.Forms.CheckBox();((System.ComponentModel.
ISupportInitialize)(this.dataSet1)).BeginInit();((System.ComponentModel.
ISupportInitialize)(this.unidadeMedidaBindingSource)).BeginInit();((System.ComponentModel.
ISupportInitialize)(this.unidadeMedidaBindingNavigator)).BeginInit(); this.unidadeMedidaBindingNavigator.SuspendLayout(); this.SuspendLayout(); // // dataSet1 // this.dataSet1.DataSetName = "DataSet1"; this.dataSet1.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema; // // unidadeMedidaBindingSource // this.unidadeMedidaBindingSource.DataMember = "UnidadeMedida"; this.unidadeMedidaBindingSource.DataSource = this.dataSet1; // // unidadeMedidaBindingNavigator // this.unidadeMedidaBindingNavigator.AddNewItem = this.bindingNavigatorAddNewItem; this.unidadeMedidaBindingNavigator.BindingSource = this.unidadeMedidaBindingSource; this.unidadeMedidaBindingNavigator.CountItem = this.bindingNavigatorCountItem; this.unidadeMedidaBindingNavigator.DeleteItem = this.bindingNavigatorDeleteItem; this.unidadeMedidaBindingNavigator.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { [..]// // iDTextBox // this.iDTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.unidadeMedidaBindingSource, "ID", true)); this.iDTextBox.Location = new System.Drawing.Point(310, 86); this.iDTextBox.Name = "iDTextBox"; this.iDTextBox.Size = new System.Drawing.Size(104, 20); this.iDTextBox.TabIndex = 2; // // siglaTextBox // this.siglaTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.unidadeMedidaBindingSource, "Sigla", true)); this.siglaTextBox.Location = new System.Drawing.Point(310, 112); this.siglaTextBox.Name = "siglaTextBox"; this.siglaTextBox.Size = new System.Drawing.Size(104, 20); this.siglaTextBox.TabIndex = 4; // descricaoTextBox // this.descricaoTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.unidadeMedidaBindingSource, "Descricao", true)); this.descricaoTextBox.Location = new System.Drawing.Point(310, 138); this.descricaoTextBox.Name = "descricaoTextBox"; this.descricaoTextBox.Size = new System.Drawing.Size(104, 20); this.descricaoTextBox.TabIndex = 6; // ativaCheckBox // this.ativaCheckBox.DataBindings.Add(new System.Windows.Forms.Binding("CheckState", this.unidadeMedidaBindingSource, "Ativa", true)); this.ativaCheckBox.Location = new System.Drawing.Point(310, 164); this.ativaCheckBox.Name = "ativaCheckBox"; this.ativaCheckBox.Size = new System.Drawing.Size(104, 24); this.ativaCheckBox.TabIndex = 8; this.ativaCheckBox.Text = "checkBox1"; this.ativaCheckBox.UseVisualStyleBackColor = true; // // Form1 // this.Shown += new System.EventHandler(this.Form1_Shown);((System.ComponentModel.
ISupportInitialize)(this.dataSet1)).EndInit();((System.ComponentModel.
ISupportInitialize)(this.unidadeMedidaBindingSource)).EndInit();((System.ComponentModel.
ISupportInitialize)(this.unidadeMedidaBindingNavigator)).EndInit(); this.unidadeMedidaBindingNavigator.ResumeLayout(false); this.unidadeMedidaBindingNavigator.PerformLayout(); this.ResumeLayout(false); this.PerformLayout();}
#endregion
-
-
-
Boas,
Eu tenho uma aplicação Windows Forms que permite a manipulação da informação das tabelas da Base de Dados, via WebService. Pretendo que ilustre as operações mais comuns de manipulação (edição, alteração, remoção e consultas adequadas)
Isto é feito com o windows form onde carrego num botao que me vai buscar os dados à base de dados e me mostra numa grid.
O que pretendo fazer e nao estou a conseguir é programar os botoes de adicionar, remover e gravar dados nessa grid...
Alguem me pode ajudar!!!