PDA

View Full Version : برابر قرار دادن اطلاعات فیلدهای جدول در داخل تکس باکسها بدون واسطه دیتا گریدویو



farhad85
شنبه 13 دی 1393, 17:40 عصر
سلام دوستان

من قبلا با کدزیر توسط دیتا گرید محتویات فیلد رو داخل تکس یا لیبلم نشون دادم

Label110.Text = DataGridView2.CurrentRow.Cells(0).Value.ToString

ولی الان میخوام بدون واسطه دیتا گرید و مستقیم ازجدولم این کارو انجام بدم!
بطوریکه اگه داخل یه تکس باکس کد ملی رو وارد کردم محتویات ردیفی که دارای این کد ملی هستش به ترتیب داخل تکسها یا لیبلهای روی فرم نمایان بشه.
ممنونم

malizergani
شنبه 13 دی 1393, 18:12 عصر
سلام دوست عزیز ، مثال را در ویژوال استدیو اجرا کنید البته بنده با سی شارپ نوشتم و شما با وی بی اگر مشکل داشتید بگید تا با وی بی بنویسم:

using 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 Test
{
public partial class Form2 : Form
{
private System.ComponentModel.IContainer components = null;
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}

private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.TextBox textBox1;

public Form2()
{
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.textBox2 = new System.Windows.Forms.TextBox();
this.textBox1 = new System.Windows.Forms.TextBox();
((System.ComponentModel.ISupportInitialize)(this.d ataGridView1)).BeginInit();

this.SuspendLayout();
//
// dataGridView1
//
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeig htSizeMode.AutoSize;
this.dataGridView1.Location = new System.Drawing.Point(12, 12);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.Size = new System.Drawing.Size(301, 224);
this.dataGridView1.TabIndex = 10;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(18, 271);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(28, 13);
this.label3.TabIndex = 15;
this.label3.Text = "Famil";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(18, 245);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(27, 13);
this.label2.TabIndex = 14;
this.label2.Text = "Name";
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(59, 268);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(100, 20);
this.textBox2.TabIndex = 12;
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(59, 242);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(100, 20);
this.textBox1.TabIndex = 11;
//
// Form2
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.StartPosition = FormStartPosition.CenterScreen;
this.ClientSize = new System.Drawing.Size(325, 293);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.dataGridView1);
this.Name = "Form2";
this.Text = "Form2";
this.Load += new System.EventHandler(this.Form2_Load);
((System.ComponentModel.ISupportInitialize)(this.d ataGridView1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}

private void Form2_Load(object sender, EventArgs e)
{
DataTable table = new DataTable(@"Table1");
table.Columns.Add(@"Name");
table.Columns.Add(@"Famil");

table.Rows.Add(new object[] { "Mohammad Ali", "Zergani" });
table.Rows.Add(new object[] { "Ali Reza", "Ahwazi" });
table.Rows.Add(new object[] { "Danial", "Afshari" });
table.Rows.Add(new object[] { "Ali", "Hayavi" });

dataGridView1.DataSource = table;

textBox1.DataBindings.Clear();
textBox1.DataBindings.Add(new Binding(@"Text", table, @"Name", true));

textBox2.DataBindings.Clear();
textBox2.DataBindings.Add(new Binding(@"Text", table, @"Famil", true));
}
}
}

farhad85
شنبه 13 دی 1393, 18:21 عصر
ممنون از لطف شما
اگه با وی بی باشه ممنونتون میشم

farhad85
شنبه 13 دی 1393, 18:40 عصر
از ADO.NET استفاده کردم

shahrabiamir
شنبه 13 دی 1393, 18:54 عصر
درود

ببین من vb.net بلد نیستم اما معادل سی شارپ رو مینویسم فکر کنم بتونی تشخیصش بدی:

قبلش یه شی از dataset بگیر که من اینجا اسمشو ds گذاشتم و دیتاست رو با کوئری پر و یه اسم برای جدول کوئری بذار. بعدش بطریق زیر برو:

DataRowCollection coll = ds.Tables["table_name"].Rows

type_name sta = coll["row_index"].Field<type_name>("column_name")

malizergani
شنبه 13 دی 1393, 18:56 عصر
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim _Table As New DataTable

_Table.Columns.Add("Name")
_Table.Columns.Add("Famil")

_Table.Rows.Add(New Object() {"Mohammad Ali", "Zergani"})
_Table.Rows.Add(New Object() {"Ali", "Hayavi"})
_Table.Rows.Add(New Object() {"Danial", "Afshari"})
_Table.Rows.Add(New Object() {"Ali Reza", "Ahwazi"})

DataGridView1.DataSource = _Table

TextBox1.DataBindings.Clear()
TextBox1.DataBindings.Add(New Binding("Text", _Table, "Name", True))

TextBox2.DataBindings.Clear()
TextBox2.DataBindings.Add(New Binding("Text", _Table, "Famil", True))

End Sub
End Class

محمد رضا فاتحی
شنبه 13 دی 1393, 18:59 عصر
اگه درست متوجه شده باشم شما می تونید اطلاعاتت رو از جدول دیتابیست بخونی و اونها رو داخل دیتاتیبل قرار بدی و از دیتاتیبلت او نا رو با توجه به ستونشون بخونی
//////
string commmand = "select name , famil,mobile from std where codemelli='"+codemelli+"'";
SqlConnection con = data.conect();
SqlDataAdapter da = new SqlDataAdapter(commmand, con);
DataTable dt = new DataTable();
con.Open();
da.Fill(dt);
con.Close();
lblname.Text=dt.Rows[0].ItemArray[0].Tostring();

اگه منظورت غیر از این بود بگو تا بیشتر کمکت کنم