показать другое значение столбца из одного столбца - PullRequest
0 голосов
/ 23 февраля 2012

Я хочу показать значение одного столбца в сетке просмотра другого столбца ..

Например: Моя колонка имеет значение «Случайный отпуск: 12-медицинский отпуск: 13-ежегодный отпуск: 03» .. Я хочу разделить указанное выше строковое значение и отобразить приведенные выше значения в столбце сетки, как это ...

 Employee Id   Employee Name  Casual Leave     Medical Leave    Annual Leave

 00624323      James          12               13               03
 00624324      Fernando       12               14               05

Примечание. Идентификатор сотрудника и имя сотрудника - разные столбцы

Мой частичный код здесь:

DataSet5TableAdapters.sp_getallempleaveTableAdapter TA = new    DataSet5TableAdapters.sp_getallempleaveTableAdapter();
DataSet5.sp_getallempleaveDataTable DS = TA.GetData();
        if (DS.Rows.Count > 0)
        {
            DataView datavw = new DataView();
            datavw = DS.DefaultView;
            datavw.RowFilter = "fldempid='" + txtempid.Text + "' and fldempname='" + txtempname.Text + "'";
            if (datavw.Count > 0)
            {
                string leavehistory = Convert.ToString(datavw[0]["fldleavehistory"]);
                string[] textarray = leavehistory.Split('-');
                foreach (string samtext in textarray)
                {
                    if (samtext.StartsWith(leavehistory))// I want to check the string with array value
                    {
                        string newtext = samtext.Split(':')[1];
                    }
                }

            }
        }

что я делаю? пожалуйста, помогите мне решить эту проблему

Ответы [ 2 ]

0 голосов
/ 23 февраля 2012

С помощью истории и нового текста вы можете создать таблицу данных и связать ее с gridview, или вы можете изменить sp, чтобы напрямую возвращать разделенный результат.

, поскольку вы так много кодировали на стороне клиента, теперь лучше создать новый источник данных, вставить в него строки и добавить этот источник данных в источник сетки

Редактировать: -

Пример: -

DataTable newdatatable = new DataTable("New");
newdatatable.Columns.Add("Employee Id");
newdatatable.Columns.Add("Employee Name");
newdatatable.Columns.Add("Casual Leave");
newdatatable.Columns.Add("Medical Leave");    
newdatatable.Columns.Add("Annual Leave");
newdatatable.AcceptChanges();
DataSet5TableAdapters.sp_getallempleaveTableAdapter TA = new    DataSet5TableAdapters.sp_getallempleaveTableAdapter();    
DataSet5.sp_getallempleaveDataTable DS = TA.GetData();
if (DS.Rows.Count > 0)
{
      DataView datavw = new DataView();
      datavw = DS.DefaultView;
      datavw.RowFilter = "fldempid='" + txtempid.Text + "' and fldempname='" + txtempname.Text + "'";
      if (datavw.Count > 0)
      {
          string leavehistory = Convert.ToString(datavw[0]["fldleavehistory"]);
            string[] textarray = leavehistory.Split('-');DataRow drow = newdatatable.NewRow();
                    drow[0]=txtempid.Text;
                    drow[1]=txtempname.Text;
            foreach (string samtext in textarray)
            {
                if (samtext.StartsWith(leavehistory))// I want to check the string with array value
                {                        
                    drow[samtext.Split(':')[0]]=samtext.Split(':')[1];
                }
            }
            newdatatable.Rows.Add(drow);
            newdatatable.AcceptChanges();
        }
}
gridview1.DataSource=newdatatable;
0 голосов
/ 23 февраля 2012

Наличие такого составного столбца в вашей базе данных никогда не является хорошей идеей.Почему бы просто не разбить столбец на 3 столбца (CasualLeave, MedicalLeave и AnnualLeave), каждый из которых содержит число?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...