Imam bazu sa imenima radnika ,sa datumima evidencija prisutnosti,treba mi da datagridview1,bude kao nesto tipa pivot tabela,da budu imena u y kolone,u x koloni da budu datumi,a prisutnost da bude u delu tabele...da li je to izvodljivo....
C sharp i pivot tabela
Zaključano
Zakačeno
Mislim da sa običnim gridom ne može to. Već ti treba 2 datagridview1.
Ali na novom Infragistic 2016, ultragrid-u imaš pivot tabele.
Ali na novom Infragistic 2016, ultragrid-u imaš pivot tabele.
Potpis
Ja sam kapetan svoje duse i gospodar svoje sudbine!
Pa napravi takav model i bind na grid... Prvi row ili header datumi, a na dole prvi cell imena pa posle prisutnost ... Grid ili bilo sta drugo samo renderuje podatke ti ih oblikujes kako hoces... Ili mozda ja ne razumem pitanje
Potpis
To sto nekoliko miliona ljudi tvrdi da nisi u pravu ne znaci da stvarno nisi - Frank Zappa
https://youtu.be/DLe358DPGXU
https://youtu.be/DLe358DPGXU
hocu ovako da izgleda
01.01.17 02.01.2017 ....
milan milanovic + go
petar petrovic + sd
gde mi je plus radi,go god opdmor,sd slobodan dan itd......
01.01.17 02.01.2017 ....
milan milanovic + go
petar petrovic + sd
gde mi je plus radi,go god opdmor,sd slobodan dan itd......
01.01.17 02.01.2017 ....
milan milanovic + go
petar petrovic + sd
ovi datumi treba da budu iznad plusa,ili go....posto se ne vidi dobro na ovom mom primeru
Najlakse je da instanciras novu npr. DataTable i sad verujem u nekoliko for/foreach-a kroz podatke iz db-a punis tu tabelu tako da izgleda kako hoces, na kraju valjda bese GridView1.datasource = tadatatable... Prosto je razmisli malo
Potpis
To sto nekoliko miliona ljudi tvrdi da nisi u pravu ne znaci da stvarno nisi - Frank Zappa
https://youtu.be/DLe358DPGXU
https://youtu.be/DLe358DPGXU
Nasao sam kod na netu,i problem mi predstavlja ovaj datatable dt.....
Evo koda....
DataTable dt = new DataTable();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
dt.Columns.Add("EmployeeID", Type.GetType("System.String"));
dt.Columns.Add("OrderID", Type.GetType("System.Int32"));
dt.Columns.Add("Amount", Type.GetType("System.Decimal"));
dt.Columns.Add("Cost", Type.GetType("System.Decimal"));
dt.Columns.Add("Date", Type.GetType("System.String"));
dt.Rows.Add(new object[] { "Sam", 1, 25.00, 13.00, "01/10/2007" });
dt.Rows.Add(new object[] { "Sam", 2, 512.00, 1.00, "02/10/2007" });
dt.Rows.Add(new object[] { "Sam", 3, 512.00, 1.00, "03/10/2007" });
dt.Rows.Add(new object[] { "Tom", 4, 50.00, 1.00, "04/10/2007" });
dt.Rows.Add(new object[] { "Tom", 5, 3.00, 7.00, "03/10/2007" });
dt.Rows.Add(new object[] { "Tom", 6, 78.75, 12.00, "02/10/2007" });
dt.Rows.Add(new object[] { "Sue", 7, 11.00, 7.00, "01/10/2007" });
dt.Rows.Add(new object[] { "Sue", 8, 2.50, 66.20, "02/10/2007" });
dt.Rows.Add(new object[] { "Sue", 9, 2.50, 22.00, "03/10/2007" });
dt.Rows.Add(new object[] { "Jack", 10, 6.00, 23.00, "02/10/2007" });
dt.Rows.Add(new object[] { "Jack", 11, 117.00, 199.00, "04/10/2007" });
dt.Rows.Add(new object[] { "Jack", 12, 13.00, 2.60, "01/10/2007" });
dt.Rows.Add(new object[] { "Jack", 13, 11.40, 99.80, "03/10/2007" });
dt.Rows.Add(new object[] { "Phill", 14, 37.00, 2.10, "02/10/2007" });
dt.Rows.Add(new object[] { "Phill", 15, 65.20, 99.30, "04/10/2007" });
dt.Rows.Add(new object[] { "Phill", 16, 34.10, 27.00, "02/10/2007" });
dt.Rows.Add(new object[] { "Phill", 17, 17.00, 959.00, "04/10/2007" });
dataGridView1.DataSource = dt;
foreach (DataColumn dc in dt.Columns)
cboX.Items.Add(dc.ColumnName);
foreach (DataColumn dc in dt.Columns)
cboY.Items.Add(dc.ColumnName);
foreach (DataColumn dc in dt.Columns)
cboZ.Items.Add(dc.ColumnName);
}
private void button1_Click_1(object sender, EventArgs e)
{
try
{
string x = "";
string y = "";
string z = "";
if (cboX.SelectedItem != null)
x = cboX.SelectedItem.ToString();
if (cboY.SelectedItem != null)
y = cboY.SelectedItem.ToString();
if (cboZ.SelectedItem != null)
z = cboZ.SelectedItem.ToString();
DataTable newDt = new DataTable();
if (y != "" && z != "")
newDt = PivotTable.GetInversedDataTable(dt, x, y, z, txttNullValue.Text, chkSumValues.Checked);
else
newDt = PivotTable.GetInversedDataTable(dt, x, y);
dataGridView2.DataSource = newDt;
}
catch(Exception err)
{
MessageBox.Show("Error: " + err.Message);
}
}
}
}
Evo koda....
DataTable dt = new DataTable();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
dt.Columns.Add("EmployeeID", Type.GetType("System.String"));
dt.Columns.Add("OrderID", Type.GetType("System.Int32"));
dt.Columns.Add("Amount", Type.GetType("System.Decimal"));
dt.Columns.Add("Cost", Type.GetType("System.Decimal"));
dt.Columns.Add("Date", Type.GetType("System.String"));
dt.Rows.Add(new object[] { "Sam", 1, 25.00, 13.00, "01/10/2007" });
dt.Rows.Add(new object[] { "Sam", 2, 512.00, 1.00, "02/10/2007" });
dt.Rows.Add(new object[] { "Sam", 3, 512.00, 1.00, "03/10/2007" });
dt.Rows.Add(new object[] { "Tom", 4, 50.00, 1.00, "04/10/2007" });
dt.Rows.Add(new object[] { "Tom", 5, 3.00, 7.00, "03/10/2007" });
dt.Rows.Add(new object[] { "Tom", 6, 78.75, 12.00, "02/10/2007" });
dt.Rows.Add(new object[] { "Sue", 7, 11.00, 7.00, "01/10/2007" });
dt.Rows.Add(new object[] { "Sue", 8, 2.50, 66.20, "02/10/2007" });
dt.Rows.Add(new object[] { "Sue", 9, 2.50, 22.00, "03/10/2007" });
dt.Rows.Add(new object[] { "Jack", 10, 6.00, 23.00, "02/10/2007" });
dt.Rows.Add(new object[] { "Jack", 11, 117.00, 199.00, "04/10/2007" });
dt.Rows.Add(new object[] { "Jack", 12, 13.00, 2.60, "01/10/2007" });
dt.Rows.Add(new object[] { "Jack", 13, 11.40, 99.80, "03/10/2007" });
dt.Rows.Add(new object[] { "Phill", 14, 37.00, 2.10, "02/10/2007" });
dt.Rows.Add(new object[] { "Phill", 15, 65.20, 99.30, "04/10/2007" });
dt.Rows.Add(new object[] { "Phill", 16, 34.10, 27.00, "02/10/2007" });
dt.Rows.Add(new object[] { "Phill", 17, 17.00, 959.00, "04/10/2007" });
dataGridView1.DataSource = dt;
foreach (DataColumn dc in dt.Columns)
cboX.Items.Add(dc.ColumnName);
foreach (DataColumn dc in dt.Columns)
cboY.Items.Add(dc.ColumnName);
foreach (DataColumn dc in dt.Columns)
cboZ.Items.Add(dc.ColumnName);
}
private void button1_Click_1(object sender, EventArgs e)
{
try
{
string x = "";
string y = "";
string z = "";
if (cboX.SelectedItem != null)
x = cboX.SelectedItem.ToString();
if (cboY.SelectedItem != null)
y = cboY.SelectedItem.ToString();
if (cboZ.SelectedItem != null)
z = cboZ.SelectedItem.ToString();
DataTable newDt = new DataTable();
if (y != "" && z != "")
newDt = PivotTable.GetInversedDataTable(dt, x, y, z, txttNullValue.Text, chkSumValues.Checked);
else
newDt = PivotTable.GetInversedDataTable(dt, x, y);
dataGridView2.DataSource = newDt;
}
catch(Exception err)
{
MessageBox.Show("Error: " + err.Message);
}
}
}
}
Ili bar da mi te podatke u tom obliku izadju na papiru pomocu crystal reporta...jel to izvodljivo
Moze li neko pomoci,da mi podaci budu u tabeli,gde je su redovi imena ljudi,kolone datumi koji postoje u bazi,a izmedju da budu plusovi,minusi i ostalo ....kako to da izvedem..
plastik je vec ranije odgovorio kako postici trazeno...
Jel moze da se napise neki kod,jer nisam bas vican toliko....
Mada bi mi zgodnije bilo u crystal reportu,kako to da uradim....
Mada bi mi zgodnije bilo u crystal reportu,kako to da uradim....