none
Datatable com coluna editavel RRS feed

  • Pergunta

  • Bom dia! Pessoal

    Mais uma perguntinha simples :)

    Vamos lá.

    Estou criando um Datatable da seguinte forma abaixo:

    //Criando um Datatable

    DataTable tabela = new DataTable();
                DataRow linha;
                tabela.Columns.Add("Data", System.Type.GetType("System.String"));
                tabela.Columns.Add("Semana", System.Type.GetType("System.String"));
                tabela.Columns.Add("Funcionário", System.Type.GetType("System.String"));
                tabela.Columns.Add("Entrada", System.Type.GetType("System.String"));
                tabela.Columns.Add("Saida Almoço", System.Type.GetType("System.String"));
                tabela.Columns.Add("Retorno Almoço", System.Type.GetType("System.String"));
                tabela.Columns.Add("Saida", System.Type.GetType("System.String"));
                tabela.Columns.Add("Obs", System.Type.GetType("System.String"));
                tabela.Columns.Add(new DataColumn("Marcar", typeof(bool)));

    //Criando linhas

    linha = tabela.NewRow();
                       
                            linha["Data"] = x + "/" + DateTime.Parse(txtdataini.Text).Month + "/" + DateTime.Parse(txtdataini.Text).Year;
                            linha["Semana"] = DateTime.Parse(x + "/" + DateTime.Parse(txtdataini.Text).Month + "/" + DateTime.Parse(txtdataini.Text).Year).DayOfWeek;
                            linha["Funcionário"] = ddlfunc.SelectedItem.Text;
                            linha["Entrada"] = "08:00";
                            linha["Saida Almoço"] = "12:00";
                            linha["Retorno Almoço"] = "13:00";
                            linha["Saida"] = "17:30";
                            linha["Obs"] = "";
                            linha["Marcar"] = false;
                            
                            
                        tabela.Rows.Add(linha);

    Pergunta: - Tem como deixa a linha ( linha["Marcar"] ) Habilitada para efetuar o clique no checbox ou deixar a coluna inteira habilitada ( tabela.Columns.Add(new DataColumn("Marcar", typeof(bool)))).

    Fico no aguardo.

    Abs


    Fabricio

    quinta-feira, 31 de março de 2016 13:37

Todas as Respostas

  • Fabricio,

    O que você quer é um valor default:

    System.Data.DataColumn colunaMarcar = new System.Data.DataColumn("Marcar", typeof(bool));
    colunaMarcar.DefaultValue = true;
    tabela.Columns.Add(colunaMarcar);

    Att,


    Antero Marques

    _________________________________________________________________________

    Se a resposta for útil, marque como útil, se respondeu totalmente sua dúvida, marque como resposta.

    O Fórum MSDN é utilizado também como base de conhecimento, então é responsabilidade de todos mantê-lo organizado e funcional.



    quinta-feira, 31 de março de 2016 15:52
  • Ficou dessa forma:

    DataTable tabela = new DataTable();
                DataRow linha;
                DataColumn Selecionar = new DataColumn("Marcar", typeof(bool));
                tabela.Columns.Add("Data", System.Type.GetType("System.String"));
                tabela.Columns.Add("Semana", System.Type.GetType("System.String"));
                tabela.Columns.Add("Funcionário", System.Type.GetType("System.String"));
                tabela.Columns.Add("Entrada", System.Type.GetType("System.String"));
                tabela.Columns.Add("Saida Almoço", System.Type.GetType("System.String"));
                tabela.Columns.Add("Retorno Almoço", System.Type.GetType("System.String"));
                tabela.Columns.Add("Saida", System.Type.GetType("System.String"));
                tabela.Columns.Add("Obs", System.Type.GetType("System.String"));
                Selecionar.ReadOnly = true;
                Selecionar.DefaultValue = false;
                tabela.Columns.Add(Selecionar);

    //Criando as linhas

    linha = tabela.NewRow();
                       
                            linha["Data"] = x + "/" + DateTime.Parse(txtdataini.Text).Month + "/" + DateTime.Parse(txtdataini.Text).Year;
                            linha["Semana"] = DateTime.Parse(x + "/" + DateTime.Parse(txtdataini.Text).Month + "/" + DateTime.Parse(txtdataini.Text).Year).DayOfWeek;
                            linha["Funcionário"] = ddlfunc.SelectedItem.Text;
                            linha["Entrada"] = "08:00";
                            linha["Saida Almoço"] = "12:00";
                            linha["Retorno Almoço"] = "13:00";
                            linha["Saida"] = "17:30";
                            linha["Obs"] = "";
                            linha["Marcar"] = false;
                            
                        tabela.Rows.Add(linha);

    Não funciona. continua desabilitado o campo não esta editável ou clicável.

    Será que existe outra solução?


    Fabricio

    quinta-feira, 31 de março de 2016 16:10
  • Já fiz assim tb e não funciona

    DataTable tabela = new DataTable();
                DataRow linha;
                DataColumn Selecionar = new DataColumn("Marcar", typeof(bool));
                tabela.Columns.Add("Data", System.Type.GetType("System.String"));
                tabela.Columns.Add("Semana", System.Type.GetType("System.String"));
                tabela.Columns.Add("Funcionário", System.Type.GetType("System.String"));
                tabela.Columns.Add("Entrada", System.Type.GetType("System.String"));
                tabela.Columns.Add("Saida Almoço", System.Type.GetType("System.String"));
                tabela.Columns.Add("Retorno Almoço", System.Type.GetType("System.String"));
                tabela.Columns.Add("Saida", System.Type.GetType("System.String"));
                tabela.Columns.Add("Obs", System.Type.GetType("System.String"));
                Selecionar.DefaultValue = true;
                tabela.Columns.Add(Selecionar);


    Fabricio

    quinta-feira, 31 de março de 2016 17:02
  • Alguém tem alguma solução?

    Fabricio

    quinta-feira, 31 de março de 2016 17:37
  • Entendi,

    você não quer que ela esteja marcada como default, você quer apenas permita edição.

    Você vai carregar ela num dataGrivView ? Porque nele a edição já é default.

    Att,


    Antero Marques

    __________________________________________________________________________

    Se a resposta for útil, marque como útil, se respondeu totalmente sua dúvida, marque como resposta.

    O Fórum MSDN é utilizado também como base de conhecimento, então é responsabilidade de todos mantê-lo organizado e funcional.


    quinta-feira, 31 de março de 2016 17:39
  • Sim vou carregar em um Gridview. Tem como fazer isso?

    Fabricio

    quinta-feira, 31 de março de 2016 20:18
  • e ai pessoal alguém tem alguma solução?


    Fabricio

    sexta-feira, 1 de abril de 2016 11:18