бих искал да създам динамично необвързана колона в Xtragrid контрол devexpress; има сценарий: имам мрежа, обвързана с данни от Payment Datatable, полетата са "Payment_ID, Customer_ID" и така нататък и така нататък, това, което бих искал да направя, е вместо да имам Customer_ID, което е чуждото в тази таблица, искате да имате в него име на клиент, свързано с идентификатор на клиент, за да избегнете объркване. някой Помощ Благодаря (с помощта на winforms C#). използван код по-долу; за попълване на мрежата
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace YoungWoman
{
public partial class Payment2 : UserControl
{
DataSet ds3 = new DataSet();
SqlDataAdapter dapayment = new SqlDataAdapter();
SqlConnection conne = SqlCoonectionSEtup.GetConnection;
BindingSource PaymentBinding = new BindingSource();
public Payment2()
{
InitializeComponent();
}
private void AddPayment_Click(object sender, EventArgs e)
{
Paymentfrm payent = new Paymentfrm(Utils.Formtype.add, 0);
payent.PaymentEvent += new EventHandler(RefreshingGrid);
payent.PayentlabelsEvent += new EventHandler(RefresHlabels);
payent.ShowDialog();
}
private void EditPayment_Click(object sender, EventArgs e)
{
Paymentfrm pyt = new Paymentfrm(Utils.Formtype.edit, 1);
pyt.ShowDialog();
}
void RefreshingGrid(object sender, EventArgs e)
{
ds3.Tables["tblPaymentYW"].Clear();
SqlCommand cmd = new SqlCommand("SELECT * FROM PaymentYW", conne);
dapayment.SelectCommand = cmd;
dapayment.Fill(ds3, "tblPaymentYW");
DgPaymentYW.DataSource = ds3.Tables["tblPaymentYW"];
DgPaymentYW.RefreshDataSource();
}
void RefresHlabels(object sender, EventArgs e)
{
LoadData();
}
private void Payment2_Load(object sender, EventArgs e)
{
LoadData();
}
private void LoadData()
{
SqlCommand cmd = new SqlCommand("SELECT *FROM PaymentYW ORDER BY PaymentId ", conne);
dapayment.SelectCommand = cmd;
ds3.Clear();
dapayment.Fill(ds3, "tblPaymentYW");
PaymentBinding.DataSource = ds3.Tables["tblPaymentYW"];
DgPaymentYW.DataSource = PaymentBinding;
this.PaymentIdlabelContro.DataBindings.Clear();
this.PaymentIdlabelContro.DataBindings.Add(new Binding("Text", PaymentBinding, "PaymentId"));
ReservationIdlabelControl.DataBindings.Clear();
this.ReservationIdlabelControl.DataBindings.Add(new Binding("Text", PaymentBinding, "ReservationId"));
LesseeIdlabelControl.DataBindings.Clear();
this.LesseeIdlabelControl.DataBindings.Add(new Binding("Text", PaymentBinding, "LesseeId"));
DatelabelControl.DataBindings.Clear();
this.DatelabelControl.DataBindings.Add(new Binding("Text", PaymentBinding, "PaymentDate"));
AmountlabelControl.DataBindings.Clear();
this.AmountlabelControl.DataBindings.Add(new Binding("Text", PaymentBinding, "AmountPaid"));
BalancelabelControl.DataBindings.Clear();
this.BalancelabelControl.DataBindings.Add(new Binding("Text", PaymentBinding, "Balance"));
gridView1.Columns[1].Visible = false;
gridView1.Columns[6].Visible = false;
DevExpress.Utils.FormatInfo fi = new DevExpress.Utils.FormatInfo();
fi.FormatType = DevExpress.Utils.FormatType.Numeric;
fi.FormatString = "c2";
gridView1.Columns[5].DisplayFormat.Assign(fi);
gridView1.Columns[4].DisplayFormat.Assign(fi);
Rowcount();
Priveleges();
}
void Rowcount()
{
RecordlabelControl.Text = " Records : " + (gridView1.RowCount);
}
void Priveleges()
{
if (SqlCoonectionSEtup.Priveleges == "User")
{
AddPayment.Enabled = false;
EditPayment.Enabled = false;
CancelBtn.Enabled = false;
}
else
{
AddPayment.Enabled = true;
EditPayment.Enabled = true;
CancelBtn.Enabled = true;
}
}
}
}